0
点赞
收藏
分享

微信扫一扫

有序排列

引言

在学习数学的过程中,我们有时会遇到排列组合的问题。题目中给出几个元素,求出这几个元素一共可以有多少种不同的组合。而现在我们运用python中的for循环可以快速得出结果,并且一一输出这些组合。

问题

有1,2,3,4四个数字求四个数字能生成多少个互不相同且无重复数字的三位数(不能含有122,133类似),同时输出这些三位数字。

方法

首先将这几个数字作为一个字符串,再用for循环遍历这个字符串,要求三位数字就嵌套三层for循环(注意缩进),再使用if语句判断数字是否重复。最后设置一个变量作为计数器,统计一共有多少种组合。

实验结果与讨论

通过实验、实践等证明提出的方法是有效的,是能够解决开头提出的问题。

代码清单 1

m='1234'

n=0

for i in m:

for j in m:

for q in m:

if (i!=j) and (j!=q) and (q!=i):

               n += 1

print(i,j,q)

print('有',n,'个')

结语

针对本次的有序排列问题,提出for循环嵌套的方法,通过实验,证明该方法是有效的。由于嵌套了三层循环,运行时的速度会有所下降。而且一旦所求组合的元素过多,需要嵌套更多的循环。未来可以探寻其他的方法来解决此类排列问题。



举报

相关推荐

0 条评论