8 FOR循环

重复是学习之母

大纲

  • 数字的循环

  • 字符串的循环

  • 循环和条件的配合

  • 练习:灯光的判断

  • 练习:存款的计算

  • 练习:水仙花数字

数字的循环

学校里面经常需要数数字,让我们从0数到4试一下。

print(0)
print(1)
print(2)
print(3)
print(4)
0
1
2
3
4

这样写代码很累啊,能不能有偷懒一些的写法呢?有的,因为计算机擅长的工作就是做那些重复枯燥的事,我们来试一下。

这里我们使用了FOR循环来操作,python中的循环是通过for这个关键词开始的,for和in是一起搭配使用。range是一个用于产生序列的函数。要注意的是range(5)产生的是从0开始,每次增加1的一个递增序列,因为它规定了这个序列一共有5个元素,所以它的最后一个元素是4。所以一开始的时候x等于0,然后把x打印出来,然后循环的第二次,x就等于1了。

我们在学习计数器的时候,有学习过这样的例子:鲁宾逊在荒岛上生活的时候,每天睡觉前在石头上刻一道横线,今天看石头上有9道横线,算一算如果再过了5天,一共有多少条横线?

这种计算方式有些麻烦,而且我们发现,其中五行代码是一模一样的,能不能让计算机自动计算这些逻辑呢?我们可以用循环来处理。

我们看另一个例子,鲁宾逊在荒岛上生活的时候,也用画线来记录自己打到了多少猎物,如果第一天打到了1只鸟,第二天打到了2只鸟,这样一直递增下去,第5天结束的时候一共打了多少只鸟?

字符串的循环

上面是我们对于一个序列进行了循环遍历,对于字符串,也是可以的,例如:

上例中,先定义了一个字符串,然后希望我们把每个字母单独打印出来。这是一种重复的工作,我们可以使用循环来做这个事情。

在这里循环目的就是遍历举出这个字符串中每一个字母,所以for后面跟着word变量将遍历每个字母,in后面跟着的text就是整个字符串。

总结下循环语句的写法,循环是将整体拆散成个体,再轮换处理每个个体。第一行是定义怎么循环,或者说怎么轮,in后面跟整体,for后面跟个体。第二行是定义了怎么处理个体。

循环和条件的配合

从1开始报数,一直到21,如果某个数字可以被3整除,则将这个数字打印出来。

因为range从0开始,到20结束,所以需要每一次都将x加一个1。

还有一种更方便的作法是让range从1开始

可以通过问号来输出range这个命令的帮助信息,可以看到它有三个参数,start, stop, step

练习:计算数字之和

计算出从1开始到100为止的所有数字之和。

练习:判断灯光问题

小明家里的灯是用线来拉的,拉一下就开,再拉一下就关,如果调皮的小明连续拉了5下,这时是开还是关?(最开始灯是关着的)

练习:存款的计算

假设你在银行里存了1万元,年收益率是10%,第一年后的本金以及收益和是1.1万元,第二年后的本金以及收益之和1.21万元,这样存10年之后,会有多少钱?

练习:水仙花数字

水仙花数字是一个三位数字,每个位数上的数字的立方和等于它自己,例如135,1的立方+5的立方+3的立方=153,找出一千以内的所有水仙花数字

Last updated