一 流程控制
流程控制的定义
流程:代码执行的过程
流程控制:对代码执行过程的管控
流程控制三大结构:
顺序结构:从上到下,代码依次执行
分支结构: 一共4个
循环结构:while for
分支结构:
单项分支
双项分支
多项分支
巢状分支
二 if分支
2.1 单项分支
语法代码块
if条件表达式:
code1
code2
...
...
如果条件表达式成立,则执行if代码块中的内容
2.2 双向分支
语法代码块
if条件表达式:
code1
code2
...else:
code1
code2
...
如果条件表达式成立 则执行if当中代码块的内容
如果条件表达式不成立 则执行else当中代码块的内容
if下面的代码块叫做 真区间
else 下面你的代码块叫做 假区间
根据下面要求写一个python代码
提示用户输入用户名和密码,如果用户名是admin , 并且密码是123456 , 提示用户恭喜你,登陆成功,否则提示用户名或密码错误
username = input("请输入您的用户名:")
password= input("请输入您的密码:")if username == "admin" and password == "123456":print("恭喜你,登录成功")else:print('抱歉,您的用户名或密码错误')
正确执行
错误执行
input 等待用户输入内容 * input 接受到的所有数据都是字符串类型
2.3 多项分支 (多选一)
语法代码块
if条件表达式1:
code1
...elif条件表达式2:
code1
...elif条件表达式3:
code1
...else:
code1
...
elif 可以是1个,可以是多个,else 只能是1个,或者没有
执行过程
默认从上到下
如果条件表达式1成立则执行代码块,否则向下执行
判断elif中的表达式2是否成立,如果ok执行代码块,否则继续向下执行表达式3,
依次类推,如果没有一个条件表达式成立,
最后执行else区间里面的内容
如果有一个条件满足,就执行该区间的内容,剩下的所有条件都不执行了
写一个简单的判断成绩的代码
score = input("请输入您的成绩:")
score=int(score)if score < 0 or score > 100:print ("请您输入正确的分数1~100")elif 60 <= score < 70:print('刚刚及格,需要下功夫')elif 70 <= score < 80:print("成绩良好,加油")elif 80 <= score < 90:print("很优秀,加油")elif 90 <= score <= 100:print("非常棒,加油")else:print("没有及格,叫家长")
执行测试
[root@node10 python]#python3 test.py
请输入您的成绩:35没有及格,叫家长
[root@node10 python]#python3 test.py
请输入您的成绩:67刚刚及格,需要下功夫
[root@node10 python]#python3 test.py
请输入您的成绩:76成绩良好,加油
[root@node10 python]#python3 test.py
请输入您的成绩:87很优秀,加油
[root@node10 python]#python3 test.py
请输入您的成绩:99非常棒,加油
[root@node10 python]#python3 test.py
请输入您的成绩:999请您输入正确的分数1~100
2.4 巢状分支
单项分支,双项分支 多项分支的嵌套使用
修改上面的代码位巢状分枝
score = input("请输入您的成绩:")
score=int(score)if score < 0 or score > 100:print ("请您输入正确的分数1~100")else:if score >= 60:if score >= 70:if score >= 80:if score >= 90:print("非常棒,加油")else:print("很优秀,加油")else:print("成绩良好,加油")else:print("刚刚及格,需要下功夫")else:print("没有及格,叫家长")
执行测试
[root@node10 python]#python3 test.py
请输入您的成绩:34没有及格,叫家长
[root@node10 python]#python3 test.py
请输入您的成绩:67刚刚及格,需要下功夫
[root@node10 python]#python3 test.py
请输入您的成绩:78成绩良好,加油
[root@node10 python]#python3 test.py
请输入您的成绩:89很优秀,加油
[root@node10 python]#python3 test.py
请输入您的成绩:99非常棒,加油
[root@node10 python]#python3 test.py
请输入您的成绩:121请您输入正确的分数1~100
通用写法
score = input("请输入您的成绩:")
score=int(score)if score < 0 or score > 100:print ("请您输入正确的分数1~100")elif 60 <= score and score < 70:print('刚刚及格,需要下功夫')elif 70 <= score and score < 80:print("成绩良好,加油")elif 80 <= score and score < 90:print("很优秀,加油")elif 90 <= score and score <= 100:print("非常棒,加油")else:print("没有及格,叫家长")
执行测试
请输入您的成绩:56没有及格,叫家长
[root@node10 python]#python3 test.py
请输入您的成绩:67刚刚及格,需要下功夫
[root@node10 python]#python3 test.py
请输入您的成绩:78成绩良好,加油
[root@node10 python]#python3 test.py
请输入您的成绩:89很优秀,加油
[root@node10 python]#python3 test.py
请输入您的成绩:9没有及格,叫家长
[root@node10 python]#python3 test.py
请输入您的成绩:121请您输入正确的分数1~100