第八章 流程控制
1、流程控制之if判断
if 判断
if 条件:
代码1
代码2
代码3
....
name =input('请输入你的名字?')
if name == 'stone':
print('我就是stone')
if name =='nick':
print('nick is my teacher')
请输入你的名字?stone
我就是stone
if...else...
if 条件: #条件成立会干什么
代码1
代码2
代码3
else: #条件不成立会干什么
代码1
代码2
代码3
....
name =input('请输入你的名字?')
if name =='stone':
print('我就是stone')
else:
print('我不是stone')
请输入你的名字?nick
我不是stone
if 1: #条件为真
print(1) #1
练习猜年龄游戏
stone_age = 32
age = input('请输入你猜的年龄?')
if age == stone_age:
print('猜对了')
else:
print('猜错了')
请输入你猜的年龄?23
猜错了
if...elif...else
if 条件: #条件1成立干什么
代码1
代码2
代码3
elif 条件: #条件2成立干什么
代码1
代码2
代码3
elif 条件: #条件3成立干什么
代码1
代码2
代码3
else: #否则干什么
代码1
代码2
代码2
stone_age = 32
age = int(input('请输入你猜的年龄?'))
if age == stone_age:
print('猜对了')
elif age > stone_age:
print('猜大了')
else:
print('猜小了')
请输入你猜的年龄?15
猜小了
stone_age = 32
age = int(input('请输入你猜的年龄?'))
if age == stone_age:
print('猜对了')
elif age > stone_age:
print('猜大了')
elif age < stone_age:
print('猜小了')
请输入你猜的年龄?18
猜小了
if的嵌套
stone_age = 32
age = int(input('请输入你的年龄?'))
if age != stone_age:
if age > stone_age:
print('猜大了')
elif age < stone_age:
print('猜小了')
else:
print('恭喜你猜对了')
请输入你的年龄?22
猜小了
2、流程控制之while循环
while循环
while 条件: #当条件为真时,会一直循环下去。
代码1
代码2
代码3
...
while 1:
stone_age = 32
age = int(input('请输入你的年龄?'))
if age != stone_age:
if age > stone_age:
print('猜大了')
elif age < stone_age:
print('猜小了')
else:
print('恭喜你猜对了')
注意:while循环需要把循环的代码缩进到while后面
while+break
break中止当前的循环,执行其他代码。
while True:
print('1')
print('2')
break
print('3')
while 1:
stone_age = 32
age = int(input('请输入你猜的年龄?'))
if age == stone_age:
print('恭喜你猜对了')
break
elif age < stone_age:
print('年龄猜小了')
elif age > stone_age:
print('年龄猜大了')
请输入你猜的年龄?25
年龄猜小了
请输入你猜的年龄?30
年龄猜小了
请输入你猜的年龄?35
年龄猜大了
请输入你猜的年龄?32
恭喜你猜对了
while循环的嵌套
prize = {0:'pen',1:'book',2:'apple',3:'cup'}
while 1:
stone_age = 32
age = int(input('请输入你猜的年龄?'))
if age == stone_age:
while True:
print(f'恭喜你猜对了,你可以获得下面选项中的一个:{prize}')
choice = int(input('请选择你需要的奖品?'))
if choice == 2:
print('这个已经没有了')
print('请重新选择
')
else:
print('这个你也想要')
break
break
elif age < stone_age:
print('年龄猜小了')
elif age > stone_age:
print('年龄猜大了')
请输入你猜的年龄?32
恭喜你猜对了,你可以获得下面选项中的一个:{0: 'pen', 1: 'book', 2: 'apple', 3: 'cup'}
请选择你需要的奖品?2
这个已经没有了
请重新选择
恭喜你猜对了,你可以获得下面选项中的一个:{0: 'pen', 1: 'book', 2: 'apple', 3: 'cup'}
请选择你需要的奖品?1
这个你也想要
while+continue
continue的意思是不执行continue下面的代码了;break直接中止整个while循环。
count = 0
while count <15:
if count ==11:
count += 1
continue
print(count)
count+=1
0
1
2
3
4
5
6
7
8
9
10
12
13
14
while+else
当while循环没有被break掉的时候,会执行else下面的代码。
count = 0
while count <15:
if count ==11:
count += 1
continue
print(count)
count+=1
else:
print('这个程序没有被中断掉')
0
1
2
3
4
5
6
7
8
9
10
12
13
14
这个程序没有被中断掉
tag控制循环退出
prize = {0:'pen',1:'book',2:'apple',3:'cup'}
tag = True
while tag:
stone_age = 32
age = int(input('请输入你猜的年龄?'))
if age == stone_age:
while True:
print(f'恭喜你猜对了,你可以获得下面选项中的一个:{prize}')
choice = int(input('请选择你需要的奖品?'))
if choice == 2:
print('这个已经没有了')
print('请重新选择
')
else:
print('这个你也想要')
break
break
elif age < stone_age:
print('年龄猜小了')
elif age > stone_age:
print('年龄猜大了')
3、流程控制之for循环
name_list = ['stone','rock','xiaoming','nick','tank','rouse','alex']
ind = 0
while ind <len(name_list):
print(name_list[ind])
ind+=1
stone
rock
xiaoming
nick
tank
rouse
alex
for i in []或{},i就是列表中的每一个元素
name_list = ['stone','rock','xiaoming','nick','tank','rouse','alex']
for i in name_list:
print(i)
stone
rock
xiaoming
nick
tank
rouse
alex
for + break
name_list = ['stone','rock','xiaoming','nick','tank','rouse','alex']
for i in name_list:
if i =='tank':
break
print(i)
stone
rock
xiaoming
nick
for + continue
name_list = ['stone','rock','xiaoming','nick','tank','rouse','alex']
for i in name_list:
if i =='tank':
continue
print(i)
stone
rock
xiaoming
nick
rouse
alex
for + else
for循环没有被break的时候,执行else里的代码。
name_list = ['stone','rock','xiaoming','nick','tank','rouse','alex']
for i in name_list:
if i =='tank':
continue
print(i)
else:
print('此程序没有被break中断')
name_list = ['stone','rock','xiaoming','nick','tank','rouse','alex']
for i in name_list:
if i =='tank':
break
print(i)
else:
print('此程序没有被break中断')
stone
rock
xiaoming
nick
for循环的嵌套
for i in range(5):
for j in range(3):
print(i,j)
0 0
0 1
0 2
1 0
1 1
1 2
2 0
2 1
2 2
3 0
3 1
3 2
4 0
4 1
4 2
import time # 定义时间模块
print('loading',end='') # 不换行打印
for i in range(6):
print('.',end='') #不换行打印
time.sleep(1) #时间模块间隔1秒
print('1',end='')
print('2',end='')
print('3',end='')
123