一、循环语句介绍
一般情况下,需要多次重复执行的代码,都可以用循环的方式来完成。
循环不是必须要使用的,但是为了提高代码的重复使用率,所以有经验的开发者都会采用循环。
二、常见的循环形式
while循环
for循环
三、while循环
while 条件: 满足条件时执行的代码1 满足条件时执行的代码2 ...(省略)...
举例如下:
i = 0 while i<5: print("i现在等于%d"%i) i+=1
运行结果为:
i现在等于0 i现在等于1 i现在等于2 i现在等于3 i现在等于4
while循环的嵌套
类似if的嵌套,while嵌套就是:while里面还有while。
while 条件1: 满足1时,执行的代码1 满足1时,执行的代码2 ...(省略)... while 条件2: 满足2时,执行的代码1 满足2时,执行的代码2
这也就是所谓的双重循环,典型的案例:打印九九乘法表:
i=1 while i<=9: j=1 while i>=j: print("%d*%d=%-2d"%(i,j,i*j),end=" ") j+=1 print("\n") i+=1
运行结果如下:
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
解释说明
%-2d意思是占2个位置的整形。
因为python中的print默认end是”\n”,所以默认时换行的,这里我们只需要修改end属性就可以了设置结尾不换行了。
四、for循环
在Python中 for循环可以遍历任何序列的项目,如一个列表或者一个字符串等。
for循环的格式
for 临时变量 in 集合容器: 满足循环执行的代码 else: 不满足循环时执行的代码
其中:else可写可不写,根据需要自行决定。
name = "Se7eN_HOU" for x in name: print(x)
运行结果为:
’S’ ’e’ ’7′ ’e’ ’N’ ’_’ ’H’ ’O’ ’U’
for循环嵌套
for循环和while循环一样也可以嵌套,还以打印九九乘法表为例演示:
for i in range(1,10): for j in range(1,10): print("%d*%d=%-2d"%(i,j,i*j),end=" ") if i==j: break print("\n")
运行效果为:
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
说明:
range()一个随机函数、在()里面写上随机数的范围。
五、continue和break
使用场景,通常在循环中当做中断循环使用,例如我本来想做10次循环,但是到第5次的时候我就不想循环了,或者第5次不想循环了,后面4次继续循环就需要用到break和continue。
continue:跳出当前本次循环,后面的循环继续进行。
i = 1 while i<=10: if i==5: i+=1 continue print(i) i+=1
运行结果为:
1 2 3 4 6 7 8 9 10
当i等于5的时候进入if语句,只做了自加1,continue之后的就print没有执行,但是i等于6,7,8,9,10次的循环继续执行了,所以continue只是结束当前这一次循环,后面的循环继续执行。
break:结束当前所有的循环,不管后面还有几次都不执行了。
i = 1 while i<=10: if i==5: i+=1 break print(i) i+=1
运行结果为:
1 2 3 4
当i等于5的时候,进入if语句,执行了i+=1,之后执行break代码,直接退出循环,所以后面的,6,7,8,9,10次都不会执行了。
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试