python练习:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?

  • Post author:
  • Post category:python


# 题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?、

今天同事给这个题我,想了下准备用remove去除某个元素,但remove后原始list发生了变化,无法继续循环

然后使用列表生成式生成新的list解决问题

# 题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?、
a = ['1','2','3','4']

b=[]
for i in a:
    print(i)
    for j in [x for x  in a if x!=i]:
        print(j)
        for m in [x for x in a if x!=i and x!=j]:
            print(m)
            b.append(int(i+j+m))
print(b)
print('互不相同且无重复数字的三位数总计 %s 个'%len(b))

运行结果:

[123, 124, 132, 134, 142, 143, 213, 214, 231, 234, 241, 243, 312, 314, 321, 324, 341, 342, 412, 413, 421, 423, 431, 432]
互不相同且无重复数字的三位数总计 24 个



使用列表生成式生成去除某元素的list,循环三次得到三位数



版权声明:本文为u010244522原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。