循环控制,就是让程序循环运行某一段代码直到满足退出的条件,才退出循环。
Python中 用关键字 for 和 while 来进行循环控制。
while循环语句
while 循环: 控制结构图如下所示
whlie使用代码:
while 判断表达式:
内部代码块
当判断添加为True或者满足时,执行内部代码块。否则退出循环。
案例1:求1+到100的和(满足条件循环,不满足条件就退出)
i=1
sum = 0
while i <=100:
sum +=i
i+=1
print(sum)
案例2:猜数字游戏
如何使用while True:则程序会一直运行,除非遇到break。
import random
temp = random.randint(1,10)
print(temp)
while True:
if temp == int(input("请输入你猜的数字(范围1-10):")):
print('你真厉害,猜对了!')
break
else:
print("你没猜对哦,请继续输入数字!")
案例3:while 的else 从句
while 循环还可以增加一个 else 从句。当 while 循环正常执行完毕,会执行 else 语句。但如果是被break 等机制强制提前终止的循环,不会执行 else 语句。
else 与 while 平级的缩进方式!
a = 10
i = 0
while i < a:
print(i)
i += 1
else:
print("执行结束!")
其实这里的else没有太大意义,循环结束后都会往下执行,去掉else也是一样效果。但是如果有break语句,结果会不一样,主要下面代码。
a = 10
i = 0
while i < a:
print(i)
i += 1
if i==6:
break
else:
print("执行结束!")
程序执行到i==6时候,挑出了循环,else:语句不再执行。
for 循环
for 循环通常用来遍历可迭代的对象,如一个列表或者一个字典。
for循环语法格式:
for ‘变量’ in “迭代对象”:
执行语句
案例1:for实现求1+到100的和
sum = 0
for i in range(1,101):
sum +=i
print(sum)
案例2:for循环和else
sum = 0
for i in range(1,101):
sum +=i
else:
print("执行完毕")
print(sum)
和while一样,如果循环语句中遇到break,跳出循环,不再继续执行else语句!
sum = 0
for i in range(1,101):
sum +=i
if sum == 6:
break
else:
print("执行完毕")
print(sum)
案例3:for嵌套,for和while 都可以嵌套,例如下列案例。
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
for i in range(1,10):
for j in range(1,i+1):
print("{}*{}={}".format(j,i,i*j),end= ' ')
print('\n')
案例4:continue 语句
与 break 不同,continue 语句用于跳过当前循环的剩余部分代码,直接开始下一轮循环。它不会退出
和终止循环,只是提前结束当前轮次的循环。continue 语句只能用在循环内。
题目:打印1–100数字,但是遇到5,或者是5的倍数就跳过。代码如下:
for i in range(1,101):
if i==5 or i%5 ==0 or i//10==5:
continue
else:
print(i)