我们为什么要学习判断语句呢?
在日常生活当中,如果满足某些条件,才能做某件事情,条件不满足的时候则不能做的事情,这就是所谓的判断语句。而这些情景在我们日常开发中也会经常用到。注意:代码的缩进为一个tab键,或者是四个空格。
总结下来呢,python中的判断语句也就分为两种:
第一种:
if.....else......
if 条件成立:
执行语句
else:
执行条件不成立时候的语句
#例如:
age = 16
print("------if判断开始------")
if age >= 18:
print("我已经成年了")
print("------if判断结束------")
这只是针对一种条件时候的判断,还有就是当针对多个条件的时候,对多个条件进行判断,当符合其中一个条件的时候则开始执行的语句,那就需要用到elif语句了。
第二种:
if 条件成立:
执行语句
elif 第二个条件:
执行语句
elif 第三个条件:
执行语句
。。。。。。
else:
上述都不符合的条件的时候,才会执行的 默认的条件
# 例如:
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')
可以如此往下一直执行。
3.第三种
这种方式不是if形式的判断语句,是缩减代码的一种写法。
三元运算符:变量 = 值1 if 条件 else 值2
解释下来就是,如果if条件的值成立,则把值1赋值给变量,否则把条件赋值给变量
a = 10
b = 20
c = a if a>b else b
print(c) # 条件不成立,把 b 的值赋给 c,也就是 c 的值为 20
4,在判断语句中,会用到的一些运算符。
比较关系运算符
python中的比较运算符如下表
运算符 | 描述 | 示例 |
---|---|---|
== | 检查两个操作数的值是否相等,如果是则条件变为真。 | 如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 |
## 关系运算符
...
>>> # == 等于:表示左右两个操作数是否相等,如果相等则整个表达式的值为 True;不相等则为False
... num1 = 15
>>> num2 = 20
>>>
>>> print(num1 == num2)
False
>>>
>>> # != 不等于
... print(num1 != num2)
True
>>>
>>> # > 大于
... print(num1 > num2)
False
>>>
>>> # < 小于
... print(num1 < num2)
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 |
## 逻辑运算符
...
>>> # and : 左右表达式都为True,整个表达式结果才为 True
... if (1 == 1) and (10 > 3):
... print("条件成立!")
...
条件成立!
>>> # or : 左右表达式有一个为True,整个表达式结果就为 True
... if (1 == 2) or (10 > 3):
... print("条件成立!")
...
条件成立!
>>> # not:将右边表达式的逻辑结果取反,Ture变为False,False变为True
... if not (1 == 2):
... print("条件成立!")
...
条件成立!
if简单应用---猜拳游戏
import random
player = input('请输入:剪刀(0) 石头(1) 布(2):')
player = int(player)
# 产生随机整数:0、1、2 中的某一个
computer = random.randint(0,2)
# 用来进行测试
#print('player=%d,computer=%d',(player,computer))
if ((player == 0) and (computer == 2)) or ((player ==1) and (computer == 0)) or ((player == 2) and (computer == 1)):
print('获胜,哈哈,你太厉害了')
elif player == computer:
print('平局,要不再来一局')
else:
print('输了,不要走,洗洗手接着来,决战到天亮')