第八章 流程控制

第八章 流程控制

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

Never,Never,Never give up.
原文地址:https://www.cnblogs.com/zuihoudebieli/p/10909715.html