while 循环
格式:
while 条件 为 True:
代码块
while True:
rayn_age = 18
age = input('请输入你的年龄:')
age = int(age)
if age == rayn_age:
print('恭喜你答对了')
elif age > rayn_age:
print('猜大了')
else:
print('猜小了')
break
请输入你的年龄:11
猜小了
问题来了,如果while的条件没有控制好,那么while循环就会成为死循环
while + break
while True:
rayn_age = 18
age = input('请输入你的年龄:')
age = int(age)
if age ==rayn_age:
print('恭喜你猜对了')
break ## 直接终止本层循环
elif age > rayn_age:
print('你猜大了')
else:
print('猜小了')
请输入你的年龄:11
猜小了
请输入你的年龄:18
恭喜你猜对了
while +continue
打印1-100的整数,且不打印50
count = 0
while count <101:
if count == 50:
count +=1
continue ## 本层级下面的代码行都不执行,就是中断本层级的循环,外层循环正常循环。
print(count,end=' ') # end=' ' 表示取消打印自动换行
count +=1
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
while 循环的嵌套
count = 0
dic = {0:'铅笔一只',1:'钢笔一只',2:'橡皮擦一个'} #奖励品可以用字典来展示,这样用户只要输入key值就可以自动索引到奖品。
while count <3:
rayn_age = 18
age = input('请输入你的年龄:')
age = int(age)
if age == rayn_age:
print('恭喜你,猜对了,有奖励哦')
# 这个循环是选择奖励品的判断循环
while True:
print(f'请选择奖励:{dic}')
chiose = input('请选择奖励:')
chiose = int(chiose)
if chiose == 1:
print('权限不够,请重新选择!')
else:
print(f'你选择了{dic[chiose]},请取走')
break
break
elif age > rayn_age:
print('猜大了')
else:
print('猜小了')
count +=1
j = 3 - count
print(f'你还有{j}次机会')
请输入你的年龄:11
猜小了
你还有2次机会
请输入你的年龄:20
猜大了
你还有1次机会
请输入你的年龄:18
恭喜你,猜对了,有奖励哦
请选择奖励:{0: '铅笔一只', 1: '钢笔一只', 2: '橡皮擦一个'}
请选择奖励:1
权限不够,请重新选择!
请选择奖励:{0: '铅笔一只', 1: '钢笔一只', 2: '橡皮擦一个'}
请选择奖励:2
你选择了橡皮擦一个,请取走
for循环
for 循环的循环次数受限于容器类型的长度,而while循环的循环次数需要自己控制。for循环也可以按照索引取值
比如把1-100的数值全部取出来,那用while循环还要我们自己添加控制条件,而for循环不需要。
for i in range(1,101):
print(i,end=' ')
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
for + break
rayn_list = ['read','run','rap','sing']
for i in rayn_list:
if i == 'rap':
break ##直接终止循环
print(i)
read
run
for + continue
rayn_list = ['read','run','rap','sing']
for i in rayn_list:
if i == 'rap':
continue ##除了‘rap’层级不执行外,其他层级循环继续执行。
print(i)
read
run
sing