whlie循环(2021-9-17)
1、while循环
语法:
while 条件语句:
循环体
说明:
a、while - 关键字;固定写法
b、条件语句 - 任何有结果的表达式
c、: - 固定写法
d、循环体 - 和while保持一个缩进的一条或多条语句;需要重复执行的代码
执行过程:
先判断条件语句是否为True,如果为True就执行循环体,执行完循环体条件语句是否为True,为True就再执行循环体
…
以此类推,知道判断条件语句的时候为False,整个循环就结束。
num = 0
while num < 5:
print('你好')
num += 1
num = 0
第一次循环:while 0 < 5 --> print(‘你好’);num += 1 --> num = 1
第二次循环:while 1 < 5 --> print(‘你好’);num += 1 --> num = 2
第三次循环:while 2 < 5 --> print(‘你好’);num += 1 --> num = 3
第四次循环:while 3 < 5 --> print(‘你好’);num += 1 --> num = 4
第五次循环:while 4 < 5 --> print(‘你好’);num += 1 --> num = 5
第六次循环:while 5 < 5 --> 循环结束
练习1:使用while循环打印数字序列: 2 3 4 5 6 7 8
num = 2
while num < 9:
print(num)
num += 1
练习2:使用while循环依次打印数字序列:1 3 5 7 9
num = 1
while num < 10:
print(num)
num += 2
2、for循环和while循环的选择
如果循环次数确定一般推荐使用for循环,如果循环次数不确定就使用while
pw = '123456'
value = input('请输入密码:')
while value != pw:
print('密码错误!')
value = input('请输入密码:')
print('密码正确!')
练习:猜数字游戏
‘’’
57
请输入一个整数(0~100):50
小了,再大点
请输入一个整数(0~100):54
小了,再大点
请输入一个整数(0~100):64
大了,再小点
请输入一个整数(0~100):57
恭喜你!猜对了
‘’’
from random import randint
产生一个0到100的随机整数,并且保存到变量num中
num = randint(0, 100)
score = int(input('请输入数字(0-100):'))
while score != num:
if score < num:
print('小了,再大点')
else:
print('大了,再小点')
score = int(input('请再次输入数字(0-100):'))
print('恭喜你!猜对了')
3、continue - 结束一次循环
1)countinue只能出现在循环体中
2)当执行循环体的时候如果遇到countinue,那么当次循环结束,直接进入下次循环的判断
for a in range(3):
print('123')
continue
print('456')
print('345')
for a in range(10):
if a % 2:
continue
print(a)
4、break - 结束整个循环
1)break只能出现在循环体中
2)当执行循环体的时候遇到了break,那么整个循环体直接结束
print('--------------------------分割线-------------------------------')
for a in range(5):
print(a)
break
print('wwww')
for a in range(5):
if a == 4:
break
print(a)
使用while循环的套路
‘’’
while True
需要重复执行操作
if 循环结束的条件:
break
‘’’
pw = '123456'
while True:
value = input('请输入密码:')
if value == pw:
break
5、else
for循环:
for 变量 in 序列:
循环体
else:
代码段
while循环:
while 条件语句:
循环体
else:
代码段
1)else的存在不影响原循环的执行
2)如果循环自然结束,那么else后面的代码就会执行;如果循环因遇到break而结束,那么else后面的代码就不会执行。
练习:判断指定的数是否是素数
num = 11
for a in range(2, num):
if num % a == 0:
print(num, '不是素数')
break
else:
print(num, '是素数')