python--选择分支结构

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 time
 
print("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 sys
 
def f1(str):
    global sports
    if 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 表达式 1if 表示式 2:
        代码块 1
    else:
        代码块 2
if 表示式 1if 表达式 2:
        代码块 1
    else:
        代码块 2
elseif 表达式 3:
        代码块 3
    else:
        代码块 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 错误。

猜你喜欢

转载自blog.csdn.net/weixin_53060366/article/details/129789207