Python 学习日记 Day 4 IF

条件语句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>18and (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('电脑赢')

此时电脑不是随机的,引入随机数进行代码完善

随机数代码完善
  1. 先导入模块
    import random
  2. 使用随机数
    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简化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值