python实例一

it2022-05-05  68

https://www.cnblogs.com/evablogs/p/6754839.html

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

程序分析:

方法一:该方法是网上的答案

先是迭代遍历组成所有的三位数,填在百位、十位、个位的数字都是1、2、3、4,然后排除相同和重复的三位数。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 >>>  for  i  in  range ( 1 , 5 ):      for  j  in  range ( 1 , 5 ):          for  k  in  range ( 1 , 5 ):              if (i! = j) and (j! = k) and (k! = i):                  print  i,j,k                     1  2  3 1  2  4 1  3  2 1  3  4 1  4  2 1  4  3 2  1  3 2  1  4 2  3  1 2  3  4 2  4  1 2  4  3 3  1  2 3  1  4 3  2  1 3  2  4 3  4  1 3  4  2 4  1  2 4  1  3 4  2  1 4  2  3 4  3  1 4  3  2

 方法二:基于方法一,将结果当做一个三位数,而不是单独的三个数字的输出,且将结果以列表的方式存储:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 >>> count = 0 >>>  for  i  in  range ( 1 , 5 ):      for  j  in  range ( 1 , 5 ):          for  k  in  range ( 1 , 5 ):              if (i! = j) and (j! = k) and (k! = i):                  s = 0                  s = s + i * 100 + j * 10 + k                  L.append(s)                                  count = count + 1                     >>>  print  L [ 123 ,  124 ,  132 ,  134 ,  142 ,  143 ,  213 ,  214 ,  231 ,  234 ,  241 ,  243 ,  312 ,  314 ,  321 ,  324 ,  341 ,  342 ,  412 ,  413 ,  421 ,  423 ,  431 ,  432 ] >>>  print  count                                   #计算各有几个三位数 >>>  24

 

转载于:https://www.cnblogs.com/yuer20180726/p/10790224.html

相关资源:python 100个小例子

最新回复(0)