一、循环语句介绍
- 一般情况下,需要多次重复执行的代码,都可以用循环的方式来完成
- 循环不是必须要使用的,但是为了提高代码的重复使用率,所以有经验的开发者都会采用循环
二、常见的循环形式
- 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("
")
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是” ”,所以默认时换行的,这里我们只需要修改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("
")
运行效果为:
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
说明:
- 用到break这个知识点,讲座下一个知识点马上给大家讲解
- 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次都不会执行了