输入字符排序

我的思路是剥洋葱

python代码如下:

print('输入四个字符')
a_list1=input().split()
for i in range(len(a_list1)):  # abcd为首各循环一次
    b_list1 = a_list1[::]  # 每一次循环,将为首的删除,剩下的形成新的列表
    b_list1.pop(i)         #索引删除字符
    for j in range(len(a_list1)-2):  # bcd为首各循环一次,注意range的范围
        c_list1 = b_list1[::]  # 每一次循环,将为首的删除,剩下的形成新的列表
        c_list1.pop(j)
        for k in range(len(a_list1) - 3):  # cd正向反向输出新列表,注意range的范围
            print(a_list1[i],b_list1[j],' '.join(c_list1))
            print(a_list1[i],b_list1[j],' '.join(c_list1[::-1]))

结果如下

输入四个字符
a b c d
a b c d
a b d c
a c b d
a c d b
b a c d
b a d c
b c a d
b c d a
c a b d
c a d b
c b a d
c b d a
d a b c
d a c b
d b a c
d b c a

其实可以根据规律建立新的函数,是迭代的代码更加简洁,这里没有给出(其实不会写,懒得想了)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值