流程控制即为控制事物的执行流程,具体体现在我们编写的程序执行的顺序上。
1.顺序结构
之上而下的依次执行
2.分支结构
根据某些条件的判断做出不同的执行流程
3.循环结构
根据某些条件的判断循环反复的做相同的事情
1.在python中使用缩进来表示代码的从属关系 if num == 18: print('Rain') #缩进相同时即为同一个代码块,在其他语言中也有用{}括起来表示同一个代码块。 2.并不是所有的代码都可以有子代码(从属的代码) 3.如果多行代码属于同一个父代码 那么这多行代码需要保证相同的缩进 #在python中推荐使用四个空格来表示缩进(四个好看一些) 4.具有相同缩进量的代码彼此之间按照顺序结构执行 没有从属关系 平起平坐
1.if
""" 语法结构 if 条件: 条件成立之后执行的子代码(可以有多行) """ num = 1 if num == 1: print('Rain') #打印Rain
2.if...else
""" 语法结构 if 条件: 条件成立之后执行的子代码(可以有多行) else: 条件不成立执行的子代码(可以有多行) """ num = input('输入1') if num == '1': print('1') else: print('0') #当输入1时,打印 1。输入其他的,打印 0
3.if...elif...else
""" 语法结构 if 条件1: 条件1成立执行的子代码(可以有多行) elif 条件2: 条件1不成立条件2成立执行的子代码(可以有多行) elif 条件3: 条件1和2都不成立 条件3成立执行的子代码(可以有多行) else: 上述所有的条件都不成立执行的子代码(可以有多行) 中间的elif可以有多个 """
1.编写一个用户登录程序
如果用户名是Rain并且密码是123 则打印登录成功
如果不是则打印用户名或密码错误
2.编写一个成绩评判系统
如果成绩大于90 则打印优秀
如果成绩大于80 则打印良好
如果成绩大于70 则打印一般
如果成绩大于60 则打印及格
如果成绩小于60 则打印挂科
""" 语法结构 while 条件: 条件成立之后执行的循环体代码 1.先判断条件是否成立 如果成立则执行循环体代码 2.循环体代码执行完毕后 再次判断条件是否成立 如果成立则继续执行循环体代码 如果不成立则跳出循环 """
但问题来了,我们可以开启循环,但当程序进入死循环后,会不断的循环,不会停下来,所以我们用while语句配合其他关键字可以达成一些想要的效果。
# 实现ATM的输入密码重新输入的功能 while True: user_db = 'nick' pwd_db = '123' inp_user = input('username: ') inp_pwd = input('password: ') if inp_user == user_db and pwd_db == inp_pwd: print('login successful') else: print('username or password error') #虽然代码功能实现了,但是循环没有停下
break的意思是终止掉当前层的循环,执行其他代码。
while True: print('1') print('2') break print('3') #只会打印1 2
continue的意思是终止本次循环,直接进入下一次循环
n = 1 while n < 10: if n == 8: # n += 1 # 如果注释这一行,则会进入死循环 continue print(n) n += 1 #不会打印8
1.编写一个猜年龄的游戏 基本要求 如果不对的情况下可以猜三次 如果对了直接结束 拔高练习 三次机会用完之后提示用户是否继续猜测 如果用户输入了y 则再给用户三次机会 如果用户输入n则直接结束
number = 3 count = 1 my_age = 20 while count < 4: Guess_age = input('猜猜我的年龄>>>') Guess_age = int(Guess_age) if Guess_age == my_age: print('猜对了!!!ヾ(✿゚▽゚)ノ') break else: number -= 1 print('猜错了!ε=(´ο`*)))唉 还剩%s次机会' % number) count += 1 if count == 4: is_continue = input('请输入是否继续(y/n)>>>') if is_continue == 'Y' or is_continue == 'y': count = 1 number = 3 else: print('游戏结束')