南希00 2021-06-16 10:05 采纳率: 78.3%
浏览 51
已采纳

Python代码解答

输入整数n(3<=n<=7),编写程序输出1,2,....,n整数的全排列,按字典序输出。
输入样例:
输入:3
输出:123 132 213 231 312 321

import itertools
n=int(input())
s=[]
for i in range(1,n+1):
    s.append(i)

num=list(itertools.permutations(s,n)) #要list,不然它只是一个对象
for c in num:
    for d in c:
        print(d,end= '')
    print()

输出不符,请求各位的帮忙。

  • 写回答

4条回答 默认 最新

  • 关注
    import random
    n = int(input())
    t = list()
    t1 = set()
    for i in range(1,n+1):
        t.append(str(i))
    while True:
        sum = 1
        for i in range(1, n + 1):
            sum *= i
        if len(t1) >= sum:
            break
        random.shuffle(t)
        t1.add("".join(t))
    s = sorted(t1)
    for i in s:
        print(i,end=" ")

    记得点个采纳,谢谢 

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 hexo+github部署博客
  • ¥15 求螺旋焊缝的图像处理
  • ¥15 blast算法(相关搜索:数据库)
  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥15 网络通信安全解决方案
  • ¥50 yalmip+Gurobi
  • ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
  • ¥15 itunes恢复数据最后一步发生错误
  • ¥15 关于#windows#的问题:2024年5月15日的win11更新后资源管理器没有地址栏了顶部的地址栏和文件搜索都消失了
  • ¥100 H5网页如何调用微信扫一扫功能?