常用条件语句

欢迎关注微信公众号(医学生物信息学),医学生的生信笔记,记录学习过程。

if语句

if 表达式:
  语句块

表达式可以是一个单纯的布尔值或变量,也可以是比较表达式或逻辑表达式。如果表达式为真,则执行“语句块”,如果表达式为假,则跳过“语句块”,继续执行后面的语句。

age = 19
if age >= 18:
 print("You are old enough to vote!")
 print("Have you registered to vote yet?")

age = 10
if age >= 18:
 print("You are old enough to vote!")
 print("Have you registered to vote yet?")

number=eval(input('请输入您的6位中奖号码:'))
# 使用if语句
if number==987654:   #等值判断
    print('恭喜您,中奖了!')

if number!=987654:
    print('您未中本期大奖')

print('-------以上if判断的表达式,是通过比较运算符计算出来的,结果是布尔值类型----')
n=98 # 赋值操作
if n%2:   # 98%2的余数是0,0的布尔值是False,非0的布尔值为True
    print(n,'是奇数')  # 由于98%2的余数是0,所以该行代码不执行

if not n%2:  # 98%2的余数是0,0的布尔值是False, not False 的结果为True
    print(n,'为偶数')

print('---------判断一个字符串是否是空字符串----------')
x=input('请输入一个字符串:')
if x:  # 在Python中一切皆对象,每个对象都有一个布尔值,而非空字符串的布尔值为True ,空字符串的布尔值为False
    print('x是一个非空字符串')

if not x: # 空字符串的布尔值为False  ,取反, not False的结果为True
    print('x是一个空字符串')

if-else语句

if 表达式:
  语句块1
else:
  语句块2

表达式可以是一个单纯的布尔值或变量,也可以是比较表达式或逻辑表达式。如果满足条件,则执行“语句块1”,否则执行“语句块2”。

age = 17
if age >= 18:
 print("You are old enough to vote!")
 print("Have you registered to vote yet?")
else:
 print("Sorry, you are too young to vote.")
 print("Please register to vote as soon as you turn 18!")

number=eval(input('请输入您的6位中奖号码:'))
# if...else
if number==987654:
    print('恭喜您中奖了!')
else:
    print('您未中本期大奖!')

#以上代码可以使用条件表达式进行简化
result='恭喜您中奖了!' if number==987654 else '您未中本期大奖!'
print(result)
print('恭喜您中奖了!' if number==987654 else '您未中本期大奖!')

if-elif-else语句

if 表达式1:
  语句块1
elif 表达式2:
  语句块2
elif 表达式3:
  语句块3
...
else:
  语句块n

表达式可以是一个单纯的布尔值或变量,也可以是比较表达式或逻辑表达式。如果表达式为真,则执行语句,如果表达式为假,则跳过该语句,进行下一个elif的判断,只有在所有表达式都为假的情况下,才会执行else中的语句。

age = 12
if age < 4:
 print("Your admission cost is $0.")
elif age < 18:
 print("Your admission cost is $25.")
else:
 print("Your admission cost is $40.")

为了让代码更简洁,可不在if-elif-else代码块中打印门票价格,而是只在其中设置门票价格,并在它后面添加一个函数调用print()

age = 12
if age < 4:
 price = 0
elif age < 18:
 price = 25
else:
 price = 40
print(f"Your admission cost is ${price}.")

score=eval(input('请输入您的成绩:'))
# 多分支结构
if score<0 or score>100:
    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')

省略else代码块

Python并不要求if-elif结构后面必须有else代码块。在一些情况下,else代码块很有用;而在其他情况下,使用一条elif语句来处理特定的情形更清晰:

age = 12
if age < 4:
 price = 0
elif age < 18:
 price = 25
elif age < 65:
 price = 40
elif age >= 65:
 price = 20
print(f"Your admission cost is ${price}.")


最后的elif代码块在顾客年满65岁时,将价格设置为20美元。这比使用 else代码块更清晰一些。经过这样的修改,每个代码块都仅在通过了相应的条件测试时才会执行。

else是一条包罗万象的语句,只要不满足任何ifelif中的条件测试,其中的代码就会执行。这可能引入无效甚至恶意的数据。如果知道最终要测试的条件,应考虑使用一个elif代码块来代替else代码块。这样就可以肯定,仅当满足相应的条件时,代码才会执行。

if语句的嵌套

3种形式的if语句可以互相嵌套。

if语句可以有多种嵌套方式,用户在开发程序时可以根据自身需要选择合适的嵌套方式,但一定要严格控制好不同级别代码块的缩进量。

answer=input('请问,您喝酒了吗?')
if answer=='y': # answer的值为y表示喝酒了
    proof=eval(input('请输入酒精含量:'))
    if proof<20:
        print('构不成酒驾,祝您一路平安')
    elif proof<80:  # 20<=proof<80
        print('已构成酒驾,请不要开车')
    else:
        print('已达到了醉驾标准,请千万不要开车')
else:
    print('你走吧,没你啥事儿!')

参考资料

[1] https://www.bilibili.com/video/BV1wD4y1o7AS/?p=7&share_source=copy_web&vd_source=d40f0854606900163a564a59cfa3027c

[2] 零基础Python学习笔记 明日科技编著

[3] Python编程从入门到实践(第3版)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值