Day4
条件语句if
if
语法:
if 条件:
(缩进四个空格或用tab)条件执行代码1
()缩进 条件执行代码2
不缩进的结束,不属于if代码范围
举例:
age = input('输入你的年龄')
age = int(age)# 转换age的类型(本来是str类型)
if age >= 18:
print('系统开始')
进阶版:
age = int(input('输入你的年龄'))#age = eval(input('输入你的年龄'))
# age = int(age)
if age >= 18:#if int(age)>=18
print('系统开始')
if age < 18:
print('不满18,系统关闭')
这里要注意的是数据类型的转换
if…else
if 条件:
代码1
代码2
else:
代码
代码
举例:
ge = eval(input('输入你的年龄'))
if age >= 18:
print('系统开始')
else:
print('不满18,系统关闭')
if中有一个条件成立,另一个条件不会执行
多重判断 elif
if 条件:
代码1
代码2
elif 条件2:
代码1
代码2
else :
以上条件都不成立代码
举例:
age = eval(input('输入工人年龄'))
if age < 18:
print(f'年龄为{age},不合法')
elif (age>18) and (age<= 60):#不加括号也能输出,为了可读性,加上括号
print(f'年龄为{age},合法')
elif age>60:#这里不用else的原因是如果输入负数或其他会出现歧义
print(f'年龄为{age},为退休年龄')
需要注意的点:
- 写条件时,为了不产生歧义,加括号
- else慎用,防止出现歧义
- 逻辑运算可以改写成 18<=age<=60
if嵌套
语法:
if嵌套
if 条件1:
代码
代码
if 条件2:
代码
代码
在第一个成立执行的代码后缩进同样的位置,完成if的嵌套
举例:
seat = 1
money = 1
if money==1:
print('上车')
if seat==1:
print('有座')
else :
print('五座')
else :
print('没钱')
应用:猜拳游戏
需求分析:
- 参与游戏的角色
- 玩家-手动出
- 电脑-随机出
判断输赢:
- 三种情况
第一种情况
game = int(input('输入你出的类型,1代表剪刀,2代表布,3代表石头'))
computer = 2
if ((game == 1) and(computer == 2) )or((game == 2) and(computer == 3) )or((game == 3) and(computer == 1) ):
print('玩家获胜')
elif(game == computer):
print('平局')
else :
print('电脑赢')
此时电脑不是随机的,引入随机数进行代码完善
随机数代码完善
- 先导入模块
import random- 使用随机数
random.randint(开始,结束)
完善代码
import random
game = int(input('输入你出的类型,1代表剪刀,2代表布,3代表石头'))
computer = random.randint(0,2)
if ((game == 1) and(computer == 2) )or((game == 2) and(computer == 3) )or((game == 3) and(computer == 1) ):
print(f'电脑出的是{computer}玩家获胜')
elif(game == computer):
print('电脑和你出的一样,平局')
else :
print(f'电脑出的是{computer}电脑赢')
三目运算符
作用:用于简化代码量
语法:{条件成立代码} if 条件 else {条件不成立表达式}
没有大括号,只是为了方便表示
a = 1
b = 2
c= a if a >b else b
print(c)
--------------------------------------------------------------
由此可见,python语言还是更贴近于自然语言的语言,如逻辑运算时可以将
(age > 18)and (age<60) 写成 18<age<60,使用三目运算符可以将
if…else简化