第六章 7-8 *输出全排列

python中编程技巧,要巧妙运用字符串类型

  • 输入的数字创建数字字符串列表
  • 全排列利用递归来做,每次去掉一个,对其他的做全排列然后在在前面加上去掉的那个数字字符
def perm(num):
    rs = []
    if len(num) <= 1:
        rs.append(num)
        return rs
    else:
        for i in range(len(num)):
            newnum = num[:i]+num[i+1:]
            newrs = perm(newnum)
            for s in newrs:
                s1 = num[i] + s
                rs.append(s1)
    return rs

n = int(input())
ns = ''.join([str(i) for i in range(1,n+1)])
for k in perm(ns):
    print(k)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值