if <条件>:
<语句块>
if语句的控制流程图:
num = eval(input("请输入数字:"))
if num<20:
print("这个数比较小!")
if 20<=num<40:
print("这个数比较大!")
if 40<=num:
print("这个数很大!")
if <条件>;
<语句块1>
else:
<语句块2>
num = eval(input("请输入数字:"))
if num<20:
print("这个数比较小!")
else:
print("这个数很大!")
<表达式1> if <条件> else <表达式2>
例如:
num = eval(input("请输入数字:"))
print("这个数{}了".format("小" if num<20 else "大"))
这种紧凑形式,适用于简单表达式的二分支语句
if <条件1>:
<语句块1>
elif <条件2>:
<语句块2>
...
else:
<语句块N>
num = eval(input("请输入数字:"))
if num<20:
print("这个数比较小!")
elif if 20<=num<40:
print("这个数比较大!")
else:
print("这个数很大!")
注意多条件之间的包含关系,注意变量取值范围的覆盖
操作符 |
数学符号 |
操作符含义 |
< |
< |
小于 |
<= |
≤ |
小于等于 |
>= |
≥ |
大于等于 |
> |
> |
大于 |
== |
= |
等于 |
!= |
不等于 |
(注:在python的if语中可以使用连续的关系符号而不用进行拆分,例如:if 0<=a<30)
and的优先级要大于or
在python中,and、or用法和逻辑与(&)、或(|)用法有一定的区别:
基本格式为:
a & b
a | b
a and b
a or b
如果a,b是数值变量,则&,|表示位运算,and,or则是依据是否非0来决定输出;
# 1&2,2在二进制里面是10,1在二进制中是01,那么01与运算10得到是0
1 & 2 # 输出为 0,
1 | 2 # 输出为3
# 判断变量是否为0, 是0则为False,非0判断为True,
# and中含0,返回0; 均为非0时,返回后一个值,
2 and 0 # 返回0
2 and 1 # 返回1
1 and 2 # 返回2
# or中, 至少有一个非0时,返回第一个非0,
2 or 0 # 返回2
2 or 1 # 返回2
0 or 1 # 返回1
代码:
print (1 & 2)
print ("-----------")
print (1 | 2)
print ("-----------")
print (2 and 0)
print (0 and 2)
print (2 and 1)
print (1 and 2)
print ("-----------")
print (2 or 0)
print (0 or 2)
print (2 or 1)
print (1 or 2)
print (0 or 0)
结果:
如果a,b是逻辑变量,则两类的用法基本一致
In[103]:(3>0) | (3<1)
Out[103]: True
In[104]:(3>0) and (3<1)
Out[104]: False
In[105]:(3>0) or (3<1)
Out[105]: True
In[106]:(3>0) & (3<1)
Out[106]: False
举例:
guess = eval(input())
if guess >99 or guess <99:
print("猜错了")
else :
print("猜对了")
结果为:
参考文章:https://blog.csdn.net/weixin_40041218/article/details/80868521
not x:条件x的逻辑非
(1)not与逻辑判断句if连用,代表not后面的表达式为False的时候,执行冒号后面的语句
注意:Python中关键字False和True首字母要大写
a = False
if not a:
print("执行语句块1")
else :
print("执行语句块2")
(2)判断元素是否再列表或者字典中,if a not in b ,a是元素,b是列表或者字典,意思是如果a不在b中,就执行冒号后面的语句
a = 5
b = [1,2,3]
if a not in b:
print ("hello")
else:
print("你好")
not x 意思相当于 if not false, then True, else False
代码中经常会有变量是否为None 的判断,有三种写法:
建议第三种写法,清晰,不会出现错误;
使用if not x这种写法的前提是:必须清楚x等于None,False,空字符串“”,0,空列表[],空字典{},空元组()时对判断有没有影响。
参考文章:https://www.cnblogs.com/devops-qxw/p/9641316.html