python条件语句

1. 执行过程

单个if 语句中的每一个条件, 最多只能有一个满足. 如果多个条件都符合, 则只执行满足第一个条件的程序块.

开始
条件是否成立?
执行程序块1
执行程序块2
执行下一步

2. 语句结构


2.1 语法
if 真值表达式:
	语句块1...
elif 真值表达式:
	语句块2...
elif 真值表达式:
	语句块3...
 …
else:
	语句块4

说明:

  1. elif 子句可有1个或多个,也可以没有
  2. else子句最多只能有一个,也可以没有(只能放在最后)

根据以上可以分成多种结构:

  • if 结构

如:

num = 300
if num % 2 == 0:
    print("It's an even number")
print("It's a number")

输出为:

It's an even number
It's a number
  • if else 结构

如:

num = 301
if num % 2 == 0:
    print("It's an even number")
else:
    print("It's an odd number")
print("It's a number")

输出为:

It's an odd number
It's a number
  • if elif else 结构

如:

# 判断一个数是正数, 0, 或者负数
n = 10
if n > 0:
    print("正数")
elif n == 0:
    print("零")
else:
    print("负数")

输出为:

正数

3. if 语句的真值表达式

if 语句的真值表达式是指用于判断的表达式, 如果其bool值为True, 则进入该条件下的程序块.
这里列举一些特别的真值表达式:

In [2]: a = ""                                                                  
In [4]: bool(a) 
                                                                
Out[4]: False


In [5]: b = None                                                                
In [6]: bool(b) 
                                                                
Out[6]: False

In [7]: c = "任意非空字符串"                                                    
In [8]: bool(c)        
                                                         
Out[8]: True


In [9]: d = 0                                                                   
In [10]: bool(d)          
                                                     
Out[10]: False


In [11]: d = 20                                                                 
In [12]: bool(d)       
                                                         
Out[12]: True


In [13]: e = [10, 20, 30]                                                       
In [14]: bool(e)     
                                                           
Out[14]: True


In [15]: f = []                                                                 
In [16]: bool(f)       
                                                         
Out[16]: False

4. if 语句的嵌套

if 语句可以作为语句嵌套到另一个if 语句的内部.
如:

# 判断学生成绩是否合格
score = float(input("请输入学生成绩:"))
if 0 <= score <= 100:
    print("成绩合法")
    if score >= 90:
        print("优")
    elif score >= 80:
        print("良")
    elif score >= 60:        
        print("及格")
    else:
        print("不及格")
else:
    print("您的输入有误!")

5. 条件表达式

  • 语法:
    表达式1 if 真值表达式 else 表达式2
    注意: 两个表达式不能是语句,如赋值语句
  • 作用
    根据真值表达式的取值(True/False)来决定执行表达式1还是表达式2,并返回相应的结果

如:

# 商场促销,满 200 减 50 
money = float(input("请输入商品总额:"))
pay = money-50 if money >= 200 else money
print("您需要支付:", pay)
print("您需要支付:", pay)

6. 布尔运算

在使用 if 语句时, 有时需要满足多个语句或者其组合, 这时涉及到布尔运算.
布尔运算用到布尔运算符, not, and, or

  • 布尔与操作 and
  • 语法:
    x and y
    注:x 和 y 表示表达式
  • 作用:
    优先返回假值
    当 x 为布尔值为 False 时,返回 x, 否则返回 y(返回的是对象)

如:

In [7]: c = "任意非空字符串"                                                    
In [11]: d = 20       
In [25]: d and c                        
Out[25]: '任意非空字符串'                                        

In [26]: bool(d and c)                               
Out[26]: True
In [30]: b = ""                                                                 

In [31]: b and c                                                                
Out[31]: ''

In [32]: bool(b and c)                                                          
Out[32]: False
  • 布尔或操作 or
  • 语法:
    x or y
    注:x 和 y 表示表达式
  • 作用:
    优先返回真值对象
    当 x 为布尔值为 True 时,返回 x, 否则返回 y(返回的是对象)

如:

In [33]: x = ""                                                                 

In [34]: y = 123                                                                

In [35]: z = [10, 20, 30]                                                       

In [36]: x or y                                                                 
Out[36]: 123

In [37]: y or z                                                                 
Out[37]: 123

In [38]: z or y                                                                 
Out[38]: [10, 20, 30]

In [39]: y or x                                                                 
Out[39]: 123

  • 布尔非操作 not
  • 语法:
    not x
    注:x 表示表达式
  • 作用:
    直接返回 bool 值, 先计算x的 bool 值, 然后取反
In [43]: x = ""                                                                 

In [44]: y = [123]                                                              

In [45]: z = [10, 20, 30]                                                       

In [46]: not x                                                                  
Out[46]: True

In [47]: not y                                                                  
Out[47]: False

In [48]: not z                                                                  
Out[48]: False
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值