判断语句
if判断语句介绍
if语句是用来进行判断的,其使用格式如下:
if 要判断的条件:
条件成立时,要做的事情
demo:
name = '星语'
if name == '星语':
print('你好,星语')
if-else
在使用if的时候,它只能做到满足条件时要做的事情。那万一需要在不满足条件的时候,做某些事,该怎么办呢?
答:使用 if-else
if-else的使用格式:
if 条件:
满足条件时要做的事情
else:
不满足条件时要做的事情
demo
age = 18
if age <= 18:
print('你成年了,可以康康')
else:
print('你还没成年噢,不能看这种东西')
elif
想一想:
如果有这样一种情况:当条件A满足时做事情1;当条件A不满足、条件B满足时做事情2;当条件B不满足、条件C满足时做事情3,那该怎么实现呢?
这就需要用到
elif
了elif的功能
elif的使用格式如下:
if xxx1:
事情1
elif xxx2:
事情2
elif xxx3:
事情3
说明:
当xxx1满足时,执行事情1,然后整个if结束
当xxx1不满足时,那么判断xxx2,如果xxx2满足,则执行事情2,然后整个if结束
当xxx1不满足时,xxx2也不满足,如果xxx3满足,则执行事情3,然后整个if结束
demo:
score = 77
if score >= 90 and score <= 100:
print('本次考试,等级为A')
elif score >= 80 and score < 90:
print('本次考试,等级为B')
elif score >= 70 and score < 80:
print('本次考试,等级为C')
elif score >= 60 and score < 70:
print('本次考试,等级为D')
elif score >= 0 and score < 60:
print('本次考试,等级为E')
注意点
可以和else一起使用
if 性别为男性:
输出男性的体重
...
elif 性别为女性:
输出女性的体重
...
else:
第三种性别的体重
...
elif必须和if一起使用,否则出错 else 一般用在最后,即所有条件都不满足时使用
比较(即关系)运算符
运算符 | 描述 | 示例 |
---|---|---|
== | 检查两个操作数的值是否相等,如果是则条件变为真。 | 如a=3,b=3,则(a == b) 为 True |
!= | 检查两个操作数的值是否相等,如果值不相等,则条件变为真。 | 如a=1,b=3,则(a != b) 为 True |
> | 检查左操作数的值是否大于右操作数的值,如果是,则条件成立。 | 如a=7,b=3,则(a > b) 为 True |
< | 检查左操作数的值是否小于右操作数的值,如果是,则条件成立。 | 如a=7,b=3,则(a < b) 为 False |
>= | 检查左操作数的值是否大于或等于右操作数的值,如果是,则条件成立。 | 如a=3,b=3,则(a >= b) 为 True |
<= | 检查左操作数的值是否小于或等于右操作数的值,如果是,则条件成立。 | 如a=3,b=3,则(a <= b) 为 True |
逻辑运算符
运算符 | 逻辑表达式 | 描述 | 示例 |
---|---|---|---|
and | x and y | 布尔"与":如果 x 为 False,x and y 返回 False,否则它返回 y 的值。 | True and False, 返回 False。 |
or | x or y | 布尔"或":如果 x 是 True,它返回 True,否则它返回 y 的值。 | False or True, 返回 True。 |
not | not x | 布尔"非":如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 | not True 返回 False, not False 返回 True |
if嵌套
想一想:
坐火车或者地铁的实际情况是:先进行安检如果安检通过才会判断是否有车票,或者是先检查是否有车票之后才会进行安检,即实际的情况某个判断是再另外一个判断成立的基础上进行的,这样的情况该怎样解决呢?
if嵌套的格式
if 条件1:
满足条件1
做的事情1
满足条件1
做的事情2
if 条件2:
满足条件2
做的事情1
满足条件2
做的事情2
- 外层的if判断,也可以是if-else
- 内层的if判断,也可以是if-else
根据实际开发的情况,进行选择
if嵌套的应用
chePiao = 1 # 用1代表有车票,0代表没有车票 daoLenght = 9 # 刀子的长度,单位为cm if chePiao == 1: print("有车票,可以进站") if daoLenght < 10: print("通过安检") else: print("没有通过安检") print("刀子的长度超过规定,等待警察处理...") else: print("没有车票,不能进站")
if 的补充知识
区间比较
a = 10
1 < a < 20 # True
11 < a < 20 # False
三元运算符
格式: 变量 = 值1 if 条件 else 值2
当条件成立时把 值1 赋值给变量,条件不成立时把 值2 赋值给变量。
a = 10
b = 20
c = a if a > b else b
print(c) # 条件不成立,把 b 的值赋给 c,也就是 c 的值为 20
数字的逻辑运算
a = 0
b = 1
c = 3
# and 运算,只要有一个值为 0 则结果为0,否则结果为最后一个非 0 数字
a and b # 0
b and a # 0
c and b # 1
b and c # 3
# or 运算,只有所有值为 0 结果才为0,否则结果为第一个非 0 数字
a or a # 0
a or b # 1
b or a # 1
c or b # 3
b or c # 1