一、语法

if 条件:
条件成⽴执⾏的代码1
条件成⽴执⾏的代码2

if True:
    print('条件成立执行的代码1')
    print('条件成立执行的代码2')

# 注意:在这个下方的没有加缩进的代码,不属于if语句块,即和条件成立与否无关
print('这个代码执行吗?')

二、实例

网吧上网

2.1 简单版
# 分析:年龄大于等于18,输出:已经成年,可以上网 -- 准备年龄的数据 和 18 做比较
age = 20

if age >= 18:
    print('已经成年,可以上网')
 
 print("系统关闭")
2.2 进阶版
# 系统可以用户输入年龄,用这个年龄做条件判断
"""
1. 用户输入
2. 保存用户输入的年龄
3. if
***** 注意一个点: input接收到的数据是str, 不能和18做判断 -- int转换类型
"""

age = int(input("请输入您的年龄:"))

if age >= 20:
    print(f'您输入的年龄是{age},可以上网')

 print("系统关闭")
2.3 实用版

if 条件:
条件成⽴执⾏的代码1
条件成⽴执⾏的代码2

else:
条件不成⽴执⾏的代码1
条件不成⽴执⾏的代码2

# 系统可以用户输入年龄,用这个年龄做条件判断
"""
1. 用户输入
2. 保存用户输入的年龄
3. if
***** 注意一个点: input接收到的数据是str, 不能和18做判断 -- int转换类型
"""

age = int(input('请输入您的年龄:'))

if age >= 18:
    print(f'您输入的年龄是{age}, 已经成年,可以上网')
else:
    print(f'您输入的年龄是{age},小朋友,回家写作业去')

三、多重判断

3.1 语法规则
if 条件1:
 条件1成⽴执⾏的代码1
 条件1成⽴执⾏的代码2
 ......
elif 条件2:
 条件2成⽴执⾏的代码1
 条件2成⽴执⾏的代码2
 ......
......
else:
 以上条件都不成⽴执⾏执⾏的代码
3.2 实例
"""
需求:
    如果年龄小于18,为童工,不合法;
    如果年龄18-60岁之间,为合法工作年龄
    如果年龄大于60为退休年龄
"""

"""
步骤:
    1. 用户输入自己的年龄, 保存变量 -- str;
    2. if做判断 elif
    3. 输出提示信息:您输入的年龄是x,合法与否
"""

age = int(input('请输入您的年龄:')) #int进行转字符

# 童工
if age < 18:
    print(f'您输入的年龄是{age}, 童工')

# 18-60 合法
elif (age >= 18) and (age <= 60):
    print(f'您输入的年龄是{age}, 合法')

elif 18 <= age <= 60:
     print(f'您输入的年龄是{age}, 合法')

# 大于60 退休
elif age > 60:
    print(f'您输入的年龄是{age}, 退休年龄')

四、if嵌套

4.1 语法规则
if 条件1:
   条件1成⽴执⾏的代码
   条件1成⽴执⾏的代码
 
   if 条件2:
       条件2成⽴执⾏的代码
       条件2成⽴执⾏的代码
4.2 实例
# 坐公交:如果有钱可以上车,没有钱,不能上车;  如果上车了,判断是否能坐下 -- 是否有空座位

"""
1. 准备将来要做判断的数据:钱和空座
2. 判断是否有钱:上车  和  不能上车
3. 上车了: 判断是否能坐下: 有空座位 和 无空座位
"""

money = 1
seat = 1

if money == 1:
    print('请上车')
    if seat == 1:
        print('请坐下')
    else:
        print('请坐下')
else:
    print('不能上车')

五、随机数

1、导出random模块:import random
2、使用random模块中的随机整数功能:random.randint(开始,结束)

"""
步骤
    1. 导入模块
    import random
    2. 使用这个模块中的功能
    random.randint()
"""
import random
num = random.randint(0, 2)
print(num)

猜拳游戏

"""
1. 出拳
    玩家:手动输入
    电脑:1. 固定:剪刀;2. 随机
2. 判断输赢
    2.1 玩家获胜
    2.2 平局
    2.3 电脑获胜
"""
import random

# 1. 出拳
# 玩家
player = int(input('请出拳:0--石头;1--剪刀;2--布:'))
# 电脑
# computer = 1
computer = random.randint(0, 2)  #randint 产生的随机数是在指定的某个区间内的一个值,包括左右两端,随机的是整数
# print(computer)

# 2. 判断输赢
# 玩家获胜
if ((player == 0) and (computer == 1)) or ((player == 1) and (computer == 2)) or ((player == 2) and (computer == 0)):
    print('玩家获胜,哈哈哈哈')
# 平局
elif player == computer:
    print('平局,别走,再来一局')
else:
    print('电脑获胜')

六、三目运算符

条件成⽴执⾏的表达式 if 条件 else 条件不成⽴执⾏的表达式

"""
语法
条件成立执行的表达式 if 条件 else 条件不成立执行的表达式
"""
a = 1
b = 2

c = a if a > b else b
print(c)

# 需求: 有两个变量,比较大小 如果变量1 大于 变量2 执行 变量 1 - 变量2; 否则 变量2 - 变量1
aa = 10
bb = 6
cc = aa - bb if aa > bb else bb - aa
print(cc)