本文章记录观看B站python教程学习笔记和实践感悟,视频链接:【花了2万多买的Python教程全套,现在分享给大家,入门到精通(Python全栈开发教程)】 https://www.bilibili.com/video/BV1wD4y1o7AS/?p=6&share_source=copy_web&vd_source=404581381724503685cb98601d6706fb
上节课介绍了程序的描述方式,顺序结果,选择结构if结构,本笔记记录的知识点有双分支结构、多分支结构、嵌套if的使用和多个条件的连接。
1.双分支结构
如上图所示,它的语法结构是:
if 条件:
print(满足条件的语句块) #如果满足表达式条件,就会执行该语句
else:
print(不满足条件的语句块) #不满足上面的表达式,就转出执行else语句
1)下面是实验代码 :
number=eval(input('请输入您的6位中奖号码:'))
#使用if...else语句
if number==987654: #等值判断
print('恭喜您!中奖了!') #如果满足表达式条件,就会执行该语句
else:
print('您未中本期大奖') #不满足上面的表达式,就转出上面执行else语句
结果为:
2)下列是一个新的if条件语句的语法结构(简化版):
【条件为真的结果】 if 条件 else 【条件为假的结果】
print(对应输出的语句块)
实验代码如下:
print('--------以上代码可以使用条件表达式进行简化--------')
number=eval(input('请输入您的6位中奖号码:'))
#简化的条件:上面判断很简单,二选一执行,而且每个语句块中只有一句代码,这种情况下我们可以使用一句来完成
result='恭喜您!中奖了!' if number==987654 else '您未中本期大奖'
#原理:用if条件表达式number==987654来判断是否为True,是就执行if前面的语句
#如果number==987654结果为False,就执行else后面的语句
print(result)
结果如下:
更更简化的操作,就是连赋值又不用,直接输出 。也就是
print(满足条件的语句块 if 条件 else 未满足条件的语句块)
实验代码 如下:
print('----更更简化的代码,不要赋值了---')
number=eval(input('请输入您的6位中奖号码:'))
print('恭喜您!中奖了!' if number==987654 else '您未中本期大奖')
结果如下:
2. 多分支结构
它的执行过程是这样的:从上往下,先判断表达式1的结果是否是True,是就直接输出语句块1,并且后面的表达式都不会再判断;如果是False,才进行表达式2的判断,如果是True就直接输出语句块2,并且后面的表达式都不会再判断;如果是False,才进行表达式3的判断.......直到所有的表达式都是False才会执行else,也就是第n+1个语句块。
注意,else这一步并不是多分支结构必须的一个,也就是可以没有else。
下面是实验代码:
score=eval(input('请输入您的成绩: '))
#多分支结构
if score<0 or score>100: #也就是score根本没落入一个可判断的范围内,直接执行第一个语句块
print('成绩有误!')
elif 0<=score<60:
print('E')
elif 60<=score<70:
print('D')
elif 70<=score<80:
print('C')
elif 80<=score<90:
print('B')
else:
print('A')
结果如下:
3.嵌套结构
左边红框是这个if-else结构的大框架。
右边是将大框架展开,细看这个嵌套结果,如果判定表达式1为True,则进入第一个大语句块,判断表达式2是否为True,是则执行语句块1,结束程序;如果是False则执行第一个大语句块的else语句块2,结束程序。 如果判定表达式1为False,则进入第二个大语句块,判断表达式3是否为True,是则执行语句块3,结束程序;如果是False则执行第二个大语句块的else语句块4,结束程序。
它的语法大概这样 :
变量=input(根据问题)
if 变量满足条件a: #条件a往往跟变量有关系
另一个变量名=eval(input(根据问题))
if 满足条件1: #往往这个条件跟另一个变量名有关系
语句块1
elif 满足条件2:
语句块2
else:
语句块3
else:
if 满足条件3:
语句块4
elif 满足条件4:
语句块5
else:
语句块6
代码实验如下:
answer=input('请问,您喝酒了吗?')
if answer=='y': #answer的值为y表示喝酒了
proof=eval(input('请输入酒精含量:'))
if proof<20:
print('构不成酒驾,祝您一路平安')
elif proof<80: #这里没有写成20<=proof<80是因为从上往下判断,如果小于20在第一个里面已经判断了
print('已构成酒驾,请不要开车')
else:
print('已构成醉驾,请千万不要开车')
else:
print('你走吧')
输入y和90,结果示意:
4.多个条件的连接
1)and的连接
也就是说使用and连接多个条件时,必须全都满足才会执行语句块。
其语法格式大概如下:
输入跟表达式1有关的变量值
输入跟表达式2有关的变量值
if 表达式1 and 表达式2: #两个必须都是True,执行语句块1
语句块1
else:
语句块2 #两个中只要有一个False,就执行语句块2
举例子,当输入用户名和密码时就用上了多条件的连接:
user_name=input('请输入您的用户名:')
pwd=input('请输入您的密码:')
if user_name=='ysj' and pwd=='8888':
print('登陆成功')
else:
print('用户名或密码不正确')
结果如下:
2)or的连接
其语法结构大概如下:
输入跟表达式1有关的变量值
输入跟表达式2有关的变量值
if 表达式1 or 表达式2: #两个中只要有一个True,就执行语句块1
语句块1
else:
语句块2 #两个都是False,就执行语句块2
and是必须全都是True才执行语句块,or与and连接的不同在于,or是只要有一个表达式是True就执行语句块,只有全都是False才退出表达式,去执行else的内容(如果有else的话,当然else不是必须有的)。
实验代码如下:
score=eval(input('请输入您的成绩: '))
if score<0 or score>100:
print('成绩有误')
else:
print('您的成绩为:',score)
输入-1,满足第一个表达式,结果如下:
输入99,此时两个表达式都是False从而执行else,结果如下:
本节完
标签:语句,False,python,else,print,input,P30,P31,表达式 From: https://blog.csdn.net/m0_57826786/article/details/142902492