Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。
可以通过下图来简单了解条件语句的执行过程:
Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false。
Python 编程中 if 语句用于控制程序的执行,基本形式为:
if 判断条件:
执行语句……
else:
执行语句……
其中"判断条件"成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围。
else 为可选语句,当需要在条件不成立时执行内容则可以执行相关语句。
Gif 演示
逻辑控制,
条件真:非0,True
条件假:0,False,None
使用的是时候我们应该要注意代码的缩进与空格,以为别的语言一般会时使用 {}进行处理
# 条件为真
'''
condition=True
condition='任意字符'
condition=100
'''
# 条件为假
'''
condition=False
condition=0
condition=None
'''
condition = None
if condition:
print("条件为true")
else:
print("条件为False")
print("我也是False这个语句快的") #这条语句的缩进和前一条一样,还在else 控制块语句内
print("程序运行结束") # 这里else是控制语句块外面的代码语句
## 以下说明错误情况,应该注意缩进问题
'''
if condition:
print("条件为true")
else:
print("条件为False") #这个语法是错误的,需要缩进一致
print("我也是False这个语句快的")
'''
if 语句的判断条件可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示其关系。
当判断条件为多个值时,可以使用以下形式:
if 判断条件1:
执行语句1……
elif 判断条件2:
执行语句2……
elif 判断条件3:
执行语句3……
else:
执行语句4……
如果使用三目运算者写法语句如下写法也与其它语言有所不同
三目运算表达式:变量
= 表达式
if 判断条件
else 表达式
#男=1,女=2,0=未知
sex = '男' if val==1 else '女' #当val==1则sex为男
# 变量 = 表达式 if 判断条件 else 表达式
sex = '男' if val==1 else '女' if sex==2 else '未知' #当val==1则sex为男,当sex不为1,也不为2时,sex为位置
由于 python 并不支持 switch 语句,所以多个条件判断,只能用 elif
来实现,如果判断需要多个条件需同时判断时,可以使用 or
(或),表示两个条件有一个成立时判断条件成功;使用 and
(与)时,表示只有两个条件同时成立的情况下,判断条件才成功。
当if有多个条件时可使用括号来区分判断的先后顺序,括号中的判断优先执行,此外 and 和 or 的优先级低于>(大于)、<(小于)等判断符号,即大于和小于在没有括号的情况下会比与或要优先判断。
附带剪刀石头布游戏
程序要求:控制台输入一个数字代码三种状态中的一种,程序生成一个随机码与之比较,输出提示输赢情况
第一版逻辑
import random #随机库
tn = input("石头剪子布游戏:(0)剪刀,(1) 石头,(2)布,请输入对应的数字出拳:\n")
if tn not in ['0', '1', '2']:
print("请输入合法数字:0,1,2")
else:
tn = int(tn)
bn = random.randint(0, 2)
print("对方出了%d" % bn)
if tn == 0:
if bn == 1:
print("对方出了石头你输了")
elif bn == 2:
print("对方出了布,你赢一局")
else:
print("对方也出了剪刀,平局")
elif tn == 1:
if bn == 2:
print("对方出了布你输了")
elif bn == 0:
print("对方出了剪刀,你赢一局")
else:
print("对方也出了石头,平局")
elif tn == 2:
if bn == 2:
print("对方也出了布,平局")
elif bn == 0:
print("对方出了剪刀,你输了")
else:
print("对方也出了石头,你赢了")
精简后逻辑
import random #随机库
tn = input("石头剪子布游戏:(0)剪刀,(1) 石头,(2)布,请输入对应的数字出拳:\n")
if tn not in ['0', '1', '2']:
print("请输入合法数字:0,1,2")
else:
tn = int(tn)
bn = random.randint(0, 2)
bnStr = "剪刀" if bn == 0 else "石头" if bn == 1 else "布"
print("对方出了(%d)%s" % (bn, bnStr), end="")
if (tn == 0 and bn == 2) or (tn == 1 and bn == 0) or (tn == 2 and bn == 1):
print(",你赢了")
elif (tn == 0 and bn == 1) or (tn == 1 and bn == 2) or (tn == 2 and bn == 0):
print(",你输了")
elif bn == tn:
print(",平局")
本文内容部分图片文献内容与图片来自:https://www.runoob.com/python/python-if-statement.html,如有侵犯请联系站长进行删除
评论 (0)