Python:循环与嵌套循环实现规律数列

简 介

这里 使用循环来现实数列的输出以及嵌套循环来实现数的分解

01 八卦几句

一直秉承的理念是工具是用来解决问题,要为了解决问题而去学习和使用工具,而不应该是为了学习工具而去学习工具,然后再去探求工具可以用来干什么。前一段时间,学习了有规律的数列,比如1、3、5、7、9或者两个有规律的数列穿插在一起,比如1、5、3、10、5、15、7、20等,还学习了把一个数差分成两个数、拆分成三个数或者更多个。因此,引导了小朋友使用Python来对这两种问题进行实现。

在数列的程序实现上,从简单的数列开始实现基础的程序,然后再基础的程序上进行修改来实现包含两个数列交叉的数列。要实现的单个数列是3、5、7、9、11,要实现的两个交叉的数列是3、5、5、10、7、15、9、20、11、25。

嵌套循环来实现数的分解要实现的是把10分解成两个数。

02 程序实现

1F

包含单个数列的数列

单个数列的实现比较简单,只需要确定好步长,使用while循环实现即可。

程序代码:

i=3

whilei

print(i)

i=i+2

程序输出:

3

5

7

9

11

2F

包含两个数列的数列

既然是两个数列,则需要两个变量分别和一个数列相对应。小朋友在找到规律之后最开始实现的是使用了两个while循环把两个数列分别输出。

可以看出的是,这两组数列是分别输出,而不是交叉输出。引导小朋友可以把这个数列进行分组,即变成:3、5、5、10、7、15、9、20、11、25。也就是可以使用一个while循环,在这一个while循环中把i和j两个变量进行增加。

3F

10的分解

如果要把10分解成两个数,对于机器而言,最简单粗暴的方法就是穷举法,然后判断结果是否满足条件。既然是分解成两个数,那么就需要两个变量i和j。i和j的变化区间都是1到10,使用嵌套循环来实现,即外层循环是i,从1到10,内层循环j也是从1到10。也就是i等于1时候,j从1到10;i等于2的时候j从1到10;i等于3的时候,j从1到10;一直到i等于10的时候,j从1到10。

其实,理论上i和j不必到10,到9就可以了。但是为了编程简化处理,就直接给设置到10了,反正有判断步骤保证不会有错误的结果输出。

#程序代码:

TargetNo=10

i=1

whilei

j=1

whilej

ifi+j==TargetNo:

print(i,j,i+j)

j=j+1

i=i+1

#程序输出:

1 9 10

2 8 10

3 7 10

4 6 10

5 5 10

6 4 10

7 3 10

8 2 10

9 1 10

不过上面这个程序仍然有改进的空间,因为这个程序会把有的分类输出两次,比如i等于1,j等于9,与i等于9,j等于1都会各输出一次。

多多机器人工作室

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180623G0W8HI00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动