公众号:尤而小屋
作者:Peter
编辑:Peter
大家好,我是Peter~
在生活中总是会听到这样的话:
其实这就是条件语句的应用:假设有某个条件成立,便会产生怎样的结果。
通过一个剪刀石头布的游戏来引出if条件语句:
import random # 随机模块
player = int(input("请输入(0-剪刀 1-石头 2-布)")) # 玩家输入
computer = random.randint(0,2) # 0-2之间随机产生一个数作为电脑的输入
if (player == 0 and computer == 2) or (player == 1 and computer == 0) or (player == 2 and computer == 1):
print("恭喜玩家你赢了") # 加上小括号
elif (player == 0 and computer == 0) or (player == 1 and computer == 1) or (player == 2 and computer == 2):
print("平局")
else:
print("很可惜,你输了")
因为电脑的输入是随机产生的,所以可能产生不同的结果。
Python 中的 条件控制语句 (Conditional control statement)
是通过一条或者多条语句的执行结果(True 或者 False),来决定执行的代码逻辑 。
if
、elif
、else
关键字, Python 中是不存在 else if
的写法,只存在 elif 这种写法。:
结尾,使用 缩进
划分语句块,相同缩进数的语句组成一个语句块。if 语句,仅有一个判断条件,如果条件成立(为 True),则执行判断语句后带缩进的代码逻辑,否则不执行。
1、语法格式:
if expression:
statements...
看下具体的执行流程图:
看一个具体的案例:我们定义了一个变量a,刚好满足if语句的条件,那么执行打印恭喜你
if expression
statements...
else:
statements...
if - else 语句,仅有一个判断条件,与 if 语句的区别就在于:
如果if后面的条件成立(为 True),则执行 if 判断语句后带缩进的代码逻辑,
否则的话,便执行 else 后带缩进的代码逻辑。
看下具体的执行流程图:
看一个具体的例子:
if expression:
statements...
elif expression:
statements...
# 可以有1条或多条elif语句
else:
statement...
在使用判断语句时,我们有时需要对两个甚至是多个条件进行判断,并执行对应的代码逻辑,这时以上两种语句就无法满足我们的需求。值得注意的是,if - elif - else 语句中,仅有一个条件成立后,就会退出当前整个判断语句,简单来说,这三条判断路径,只会走其中一条。
这种语句需要注意的点:
看下具体的执行流程图:
具体的案例如下:
多个if语句同时使用。通过一个客人是否喝的是美式加糖咖啡的例子来说明:
1、同时满足美式和“是”(加糖)的条件
2、满足美式,但是不加糖“否”
不满足加糖的时候(否),进入第一个else中
3、一开始就不满足“美式”
if条件语句可以和三元操作符配合使用。其实就是将多个if…else…条件语句写到一行代码中:
X = A if B else C
上面语句的意思是:如果满足条件x>y,则将x赋值给a,否则(x 现在是x 找出50以内能够被5整除的数字,两种方法来实现: Python中常用的基础运算符可参照下表: 举几个例子说明基础运算符的使用: Python中的布尔值(bool)分为True和Fool。在if判断中如果条件为真True,则执行if后面缩进的代码块。有些特殊对象的布尔值为fool: 下面的多个例子表示的是:当本身的布尔值为False,加上not之后变成True,然后执行print语句 通过否定的形式,我们可以精简自己的代码: 坐上飞机一般需要两个主要步骤:Python列表推导式使用if语句
Python中的逻辑运算符
运算符
说明
not
逻辑“非”
and
逻辑“与”
or
逻辑“或”
Python操作运算符
操作符
说明
<
小于
<=
小于或等于
>
大于
>=
大于或等于
==
等于
!=
不等于
in / not in
成员运算符
is / not is
身份运算符
Python中特殊对象
对象
布尔值
None
False
所有值为零的数(整数/复数/浮点数)
False
空字符串
False
空列表
False
空元组
False
空字典
False
空集合
False
坐飞机
def fly():
ticket = int(input("是否购买机票(0-未购买 1-购买)"))
safety = int(input("是否通过安检(0-未通过 1-通过)"))
if ticket == 1 and safety == 1:
print("请登机")
elif ticket == 1 and safety != 1:
print("未通过安检,不能登机")
else:
print("没有机票不能登机")
if __name__ == "__main__":
fly()
总结
:
,还有就是python中的代码块缩进问题。()
的语句优先级最高,() > not > and > or
。当我们不清楚语句执行的优先级,最好的解决办法就是添加上小括号