if else 条件语句
if else语句对条件进行判断,然后执行不同的代码,这称为选择结构或分支结构。
if 表达式:代码块
if 表达式:代码块1
else:代码块2
if 表达式1:代码块1
elif 表达式2:代码块2
elif 表达式3:代码块3......
else:代码块n
不管“表达式”的结果是什么类型,if else 都能判断它是否成立(真或者假)。
例子:
# 判断软件是否可以使用
age = int(input('请输入你的年龄:'))
if age < 18:print('未成年无法使用该软件。')
print('软件正在打开,请稍等...')
if age < 18:print('未成年无法使用该软件。')print('未成年应该好好学习,天天向上,将来努力报销祖国。')sys.exit()
else:print('你已成年,可以使用该软件。请携带有效证件进行办理。')print('请勿成谜其中。合理安排时间。')print('软件正在打开...')
sys 模块的 exit() 函数用于退出程序。
sys.exit()退出程序:
- 退出程序机制:(不扑捉SystemExit异常)
通过引发 **SystemExit **异常来退出Python程序。
import sys
import timeprint("Type exit to exit.")
while True:response = input("Your favorite sports: ")if response.upper() == "EXIT":print("You've typed exit, and system will exit right now...")time.sleep(0.1)sys.exit() # 程序直接退出,不捕捉异常print('You typed ' + response + '.')
- 捕捉SystemExit异常,可以做一些工作,如打印异常消息等。
import sysdef f1(str):global sportsif str.upper() == "EXIT":sys.exit("User exit")else:sports.append(str)usrs = ['Lily', 'Hebe', 'Tom']
for usr in usrs:sports = []print(usr + ", input your favorite sports and type exit to exit.")while True:response = input(": ")try:f1(response)except SystemExit as msg: # 捕捉异常,不退出程序,此处用来打印异常消息和退出while循环print(msg)print(usr + "'s favorite sports is " + ", ".join(i.lower() for i in sports) + '.')break
例子:判断一个人的身材是否合理:
# 判断一个人的身材是否合理:
height = float(input('请输入你的身高:'))
weight = float(input('请输入你的体重:'))bmi = weight / (height * height)if bmi < 18.5:print('BMI指数为:%.2f' %bmi)print('体重过轻。')
elif bmi < 24.9:print('BMI指数为:%.2f' %bmi)print('体重正常,继续保持。')
elif bmi < 29.9:print('BMI指数为:%.2f' %bmi)print('体重过重。可以适当减肥。')
else:print('BMI指数为:%.2f' %bmi)print('肥胖。请私教进行减肥。')
表达式成立情况:
b = False
if b:print('b是True')
else:print('b是False')
n = 0
if n:print('n不是零值')
else:print('n是零值')
s = ""
if s:print('s不是空字符串')
else:print('s是空字符串')
l = []
if l:print('l不是空列表')
else:print('l是空列表')
d = {}
if d:print('d不是空字典')
else:print('d是空字典')
def func():print("函数被调用")
if func():print('func()返回值不是空')
else:print('func()返回值为空')# b是False
# n是零值
# s是空字符串
# l是空列表
# d是空字典
# 函数被调用
# func()返回值为空
if 语句嵌套:
if 表达式 1:if 表示式 2:代码块 1else:代码块 2
if 表示式 1:if 表达式 2:代码块 1else:代码块 2
else:if 表达式 3:代码块 3else:代码块 4
判断是否酒后驾车:
# 判断是否为酒后驾车
proof = float(input("输入驾驶员每 100ml 血液酒精的含量(mg):"))if proof < 20:print('你符合文明驾驶,未构成酒驾。')
else:if proof < 80:print('你的酒精含量为:%.2f,已构成酒后驾使,现对你处以记3分,200元的罚款。' %proof)else:print('你的酒精含量为:%.2f,已超过80mg/100ml构成醉驾,你将被拘留7天并处以1000元罚款和记6分的处罚。' %proof)
pass 与 assert:
pass 是 Python 中的关键字,用来让解释器跳过此处,什么都不做。
assert 语句通常用于检查用户的输入是否符合规定,还经常用作程序初期测试和调试过程中的辅助工具。
assert 语句,又称断言语句,可以看做是功能缩小版的 if 语句,它用于判断某个表达式的值,如果值为真,则程序可以继续往下执行;反之,Python 解释器会报 AssertionError 错误。