⼴义循环:⼀个周期现象或者重复出现的情况,这种状态被称为循环。
狭义循环:在满⾜条件的情况下,反复执⾏某⼀段代码,在编程语⾔中出现的这种现象被称为循环。被反复执⾏的这段代码被称为循环体。
python中的循环有while循环和for-in循环。
while循环的语法为,
while 循环条件:
循环体(重复执行的语句)
while循环的执行流程为,首先判断循环条件,如果为真,执行循环体,然后再判断循环条件,
如果为真,继续执行循环体…直到循环条件为假,退出循环,执行后续语句。
注意:循环的难度不在于语法,在于如何发现循环。
例如,计算100以内所有偶数的和。
num = 0
i = 0
while i <= 100:
num += i
i += 2
print(num)
运行结果如下,
2550
在某些情况下,我们没法得知while循环运行的次数,上面我们讲的while循环就没有办法进行执行。例如,输入学生成绩,当输入的成绩为负数时结束。我们无法直到while循环会循环几次,这是我们需要用while循环的死循环和break搭配。
sumsco = 0
while True: # 循环条件为真时,无限循环
score = float(input("请输入成绩:"))
if score < 0:
break # 中断当前的这一重循环
sumsco += score
print(sumsco)
while-else循环的语法结构为,
while 循环条件:
循环体
else:
语句块
执行流程为如果循环条件不具备,循环正常结束的话,会执行else语句块;如果循环是由break退出的,则不执行else语句。
例如,从键盘上输入一个数,判断是否是素数(除了1和本身没有其他除数)。
num = int(input("请输入一个整数:"))
i = 2
while i < num:
if num % i == 0: # 除尽了,不是素数
print("不是素数")
break # 退出循环
i += 1
else:
print("是素数")
循环嵌套可以帮助我们完成很多工作。
例如,打印九九乘法表。
j += 1
while j <= 9:
# 打印一行
i = 1
while i <= j:
print("%dx%d=%2d" %(j, i, j * i), end=" ")
i += 1
print() # 换行
j += 1
运行结果如下,
1x1= 1
2x1= 2 2x2= 4
3x1= 3 3x2= 6 3x3= 9
4x1= 4 4x2= 8 4x3=12 4x4=16
5x1= 5 5x2=10 5x3=15 5x4=20 5x5=25
6x1= 6 6x2=12 6x3=18 6x4=24 6x5=30 6x6=36
7x1= 7 7x2=14 7x3=21 7x4=28 7x5=35 7x6=42 7x7=49
8x1= 8 8x2=16 8x3=24 8x4=32 8x5=40 8x6=48 8x7=56 8x8=64
9x1= 9 9x2=18 9x3=27 9x4=36 9x5=45 9x6=54 9x7=63 9x8=72 9x9=81