ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
## 循环语句 上节课我们学习了条件语句。条件语句可以让让我们的代码根据不同条件执行不同的分支。 这节课我们学习的循环是让指定的代码执行多次的意思。生活中有很多周而复始的例子:*太阳东升西落、地球不断的自转、钟表重复的转动*。这些都是循环。 ![](http://i1.wp.com/inews.gtimg.com/newsapp_match/0/2494026126/0) ![](https://dmek1960.files.wordpress.com/2013/03/zomertijd.jpg) 我们来看一下循环的严格定义:**当条件成立的时重复执行里面的指令**叫做循环。 ![](http://17de.com/library/CPP/ls10.h2.gif) 循环有for、while两种表现形态。下面我们具体学习一下 ## for循环 for循环用来让代码执行一定的次数。先来看代码: ~~~ list = [1,2] for i in list: print(i) print('over') ~~~ list是一个由 1、2 2个数字组成的列表。代码的第二行:`for i in list:` 是我们的循环语句。这个代码的意思是 我们依次从列表list取下一个元素给到变量i,然后执行`print(i)` ,知道list列表中没有下一个元素了。 ![](https://s1.ax1x.com/2018/08/08/PsW7G9.png) ## while循环 while 循环是 当条件成立时,一直执行里面的代码,知道条件不成立为止。 看代码: ~~~ a = 1 while a<10: print(a) a = a + 1 print('over') ~~~ 代码的第二行`while a<10:` 是while循环指令。如果`a<10`成立的话,会一直执行里面的`print(a) a = a+1` 两条语句。 ![](https://cdn.journaldev.com/wp-content/uploads/2017/10/while-loop-java.png) ## 循环在案例的使用 循环在程序里经常使用。每个游戏基本上都离不开循环。我们来看一下例子:王者荣耀里的野怪,在英雄未打他们之前。他们一直在随机游荡,这个用while循环来实现;英雄打野怪一下,野怪受到的伤害要根据英雄身上的所有装备加成,这个用for循环来实现 ![](http://shp.qpic.cn/lolwebschool/449774017/ea6a645ace6016326bfd6cc38e74d818/0) ## 小灶时间 我们来下面的一个例子: ~~~ a = 0 while a < 9: a = a + 1 b = 0 row = "" while b < a: b = b + 1 row = row + str(a)+"*"+str(b)+"="+str(a*b)+" " print(row) ~~~ 聪明的小朋友知道这段程序会输出什么结果吗? 这是一个输出9*9乘法表的程序,它会输出这样的结果: ~~~ 1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 4*1=4 4*2=8 4*3=12 4*4=16 5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81 ~~~ 下面是一个猜数字的游戏,聪明的小朋友知道是什么意思吗? ~~~ num = int(input('try target')) target = int(input('input a num')) tryCount = 0 while target != num and tryCount < 3: if target > num: print("输大了") else: print("输小了") tryCount = tryCount + 1 if num == target: print("猜对了") else: print("猜错了") ~~~