当前位置:   article > 正文

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

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

一、实现思路

第一层循环:确定百位数字,为防止重复,将所使用的数字从列表中取出。十位和个位从剩余列表中取值。

第二层循环:确定十位数字,为防止重复,将所使用的数字从列表中取出。个位从剩余列表中取值。

第三层循环:循环剩余列表,确定个位数字。

二、实现代码

  1. # 第一种实现方法
  2. tar = [1, 2, 3, 4]
  3. count = 0 # 结果计数
  4. for i in range(len(tar)): #最外层循环,确定百位数字
  5. t1 = tar.copy() # 操作临时变量,防止改变原始tar的值,影响下次循环
  6. x = str(t1.pop(i)) # 取出百位数字
  7. for j in range(len(t1)): # 循环剩余列表,确定十位和个位
  8. t2 = t1.copy() # 操作临时变量,防止改变t1的值,影响下次循环
  9. y = str(t2.pop(j)) # 取出十位数字
  10. for k in range(len(t2)): # 循环剩余列表,确定个位
  11. print(x + y + str(t2[k]), end=' ') #将百位十位和个位拼接,得到一个结果
  12. count += 1 #结果计数+1
  13. print('') # 百位相同的结果显示为一行,百位数字改变的时候换行
  14. print('最终结果为:%s个' % count)
  15. # 第二种实现方法
  16. tar = [1, 2, 3, 4]
  17. count = 0 # 结果计数
  18. for i in range(len(tar)):
  19. x = str(tar.pop(i)) # 取出百位数字
  20. for j in range(len(tar)):
  21. y = str(tar.pop(j)) # 取出十位数字
  22. for k in range(len(tar)):
  23. print(x + y + str(tar[k]), end=' ') #将百位十位和个位拼接,得到一个结果
  24. count += 1 #结果计数+1
  25. tar.insert(j, int(y)) # 将拿出的十位数字放回原始列表,防止影响下次循环
  26. tar.insert(i, int(x)) # 将拿出的百位数字放回原始列表,防止影响下次循环
  27. print('') # 百位相同的结果显示为一行,百位数字改变的时候换行
  28. print('最终结果为:%s个' % count)

三、运行结果

四、实现方式分析

0.上面的实现方法,每次循环均能得到一个有效结果,循环次数为4*3*2 = 24次

1.3层循环遍历数组,条件判断去重,得到最终结果

循环次数:4*4*4 = 64次

  1. count = 0
  2. for x in range(1, 5):
  3. for y in range(1, 5):
  4. for z in range(1, 5):
  5. if (x != y) and (x !=z ) and (y != z):
  6. print("%d%d%d" % (x, y, z), end=' ')
  7. count += 1
  8. print('')
  9. print('最终结果为:%s个' % count)

2.3层循环遍历数组,利用Set集合去重,得到最终结果

循环次数:4*4*4 = 64次

  1. tar = ['1', '2', '3', '4']
  2. count = 0
  3. for i in tar:
  4. for j in tar:
  5. for k in tar:
  6. if len(set(i + j + k)) == 3:
  7. print("%s%s%s" % (i, j, k), end=' ')
  8. count += 1
  9. print('')
  10. print('最终结果为:%s个' % count)

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/212775
推荐阅读
相关标签
  

闽ICP备14008679号