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

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 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
  • ¥50 STM32单片机传感器读取错误
  • ¥15 (关键词-阻抗匹配,HFSS,RFID标签天线)
  • ¥15 机器人轨迹规划相关问题
  • ¥15 word样式右侧翻页键消失