文章目录
- 思维导图
- 选择结构
- 1.单分支选择结构
- 2.条件表达式详解
- 3.双分支选择结构
- 4.三元条件运算符
- 5.多分支选择结构
- 6.选择结构的嵌套
思维导图
选择结构
选择结构通过判断条件是否成立,来决定执行哪个分支,选择结构有多重形式:
单分支,双分支,多分支
流程图:
1.单分支选择结构
if语句单分支结构语法:
if 条件表达式:
语句
其中:
条件表达式:可以是逻辑表达式、关系表达式、算术表达式等等
语句:可以是一条语句也可以是多条语句,多条语句缩进必须一致
练习:输入一个数字,小于10则打印这个数字
num=input("请输入一个数字:")
if int(num)<10:
print(num)
>>>
请输入一个数字:5
5
2.条件表达式详解
在选择和循环结构中,条件表达式的值为False 的情况如下:
False、0、0.0、空值None、空序列对象(空列表、空元组、空集合、空字典、空字符串)、空range 对象、空迭代对象。
其他情况,均为True,这么看来, Python 所有的合法表达式都可以看做条件表达式,甚至包括函数调用的表达式。
测试:测试各种表达式
>>> if 3:
... print('ok')
ok
>>> a=[]
>>> if a:
... print('False') #没有任何输出
>>> s='False' #非空字符串,是True
>>> if s:
... print('非空字符串,是True')
非空字符串,是True
3.双分支选择结构
语法:
if 条件表达式:
语句1
else:
语句2
试验:输入一个数字,小于10打印该数字;大于10,打印‘数字太大’
while True: #无限次执行下列代码
num = input("请输入一个数字:")
if int(num) < 10:
print(num)
else:
print('数字太大5')
>>>
请输入一个数字:5
5
请输入一个数字:11
数字太大
4.三元条件运算符
某些简单双分支赋值情况下可以用三元条件表达式,语法:
if(条件表达式)else 条件为假时的值
上面的案例可以改为:
while True:
num = input("请输入一个数字:")
print(num if int(num)<10 else '数字太大')
5.多分支选择结构
语法:
if 条件表达式1:
语句1
elif 条件表达式2:
语句2
.
.
.
else:
语句n
试验:输入学生成绩,不及格(小于60)、及格(60-79)、良好(80-89)、优秀(90-100)
- 方法一
while True:
score = float(input("请输入成绩:"))
if score < 60:
print('不及格')
elif 60 <= score < 80:
print('及格')
elif 80 <= score < 90:
print('良好')
elif 90 <= score <= 100:
print('优秀')
>>>
请输入成绩:60
及格
请输入成绩:59
不及格
请输入成绩:100
优秀
- 方法二
a=['不及格','及格','良好','优秀']
grade=''
while True:
score = int(input("请输入成绩:"))
b=score//10-6
if b < 0:
grade=a[0]
elif b<2:
grade = a[1]
else:
grade = a[b]
print("分数是{0},等级是{1}".format(score,grade))
注:多分支结构,几个分支之间有逻辑关系,不能随意颠倒顺序
while True:
score = float(input("请输入成绩:"))
if score < 60:
print('不及格')
elif score<= 100:
print('优秀')
elif score < 80:
print('及格')
elif score < 90:
print('良好')
>>>
请输入成绩:90
优秀
请输入成绩:80
优秀
请输入成绩:40
不及格
6.选择结构的嵌套
试验:输入成绩,0-100之间,90以上是A,80以上是B,70以上是C,60以上是D,60以下是E
a='ABCDE'
while True:
score = int(input("请输入成绩:"))
if score>100 or score<0:
print("请输入正确的成绩")
else:
b=score//10
if b-6<0:
b=4
print(a[4])
else:
print(a[4-b])
>>>
请输入成绩:101
请输入正确的成绩
请输入成绩:60
D
请输入成绩:59
E
循环结构可以参考:python基础2.0版(3)—循环结构