if语法
单分支语法
if 条件: 条件成立执行的代码1 条件成立执行的代码2 ......- 要点说明
a)if后面跟条件表达式,末尾必须加冒号 : ,冒号代表代码块开始。
b)冒号下方的代码,必须缩进(一般 4 个空格),属于 if 内部代码块,只有条件为True(成立)才会运行。
c)不缩进的代码,不属于 if 块,无论条件是否成立都会执行。- 例子
# 数字和字符串不能直接比较,需要把字符串进行类型转换 age=int(input('请输入你的年龄:')) if age>=18: print(f'你的年龄为:{age},你已成年,可以上网') print('系统关闭')
if…else 双分支
- 语法
if 条件: 条件成立执行的代码1 条件成立执行的代码2 ...... else: 条件不成立执行的代码1 条件不成立执行的代码2 ......- 作用
a)条件成立 → 执行if缩进里的代码
b)条件不成立 → 执行else缩进里的代码
c)两个分支只会执行其中一个,不会同时执行- 注意点
a)if 和 else 是平级,对齐写,都带冒号:
b)各自下面的代码块必须缩进(4 空格)
c)else 后面不能写条件,它就是处理 “if 条件不满足” 的情况age=int(input('请输入你的年龄:')) if age>=18: print(f'你的年龄为:{age},你已成年,可以上网') else: print('未成年,不能上网') print('系统关闭')
if‑elif‑else 多分支(多重判断)
- 多分支语法
if 条件1: # 条件1成立执行 代码1 代码2 elif 条件2: # 条件1不成立,条件2成立执行 代码1 代码2 …… else: # 上面所有条件都不成立才执行 代码- 要点:
a)if 开头,可以有多个elif,else可选,写在最后
b)只会执行第一个满足条件的代码块,执行完直接跳出整个 if 结构
c)注意冒号: ,下面代码要缩进(4 空格) age=int(input('请输入你的年龄:')) if age<18: print(f'你的年龄是:{age},童工一枚') elif age>=18 and age<60: #等价于 18<=age<60 print(f'你的年龄是:{age},合法工龄') elif age>=60: print(f'你的年龄是:{age},可以退休了')
if嵌套
if 条件1: # 条件1成立执行的代码 代码 代码 if 条件2: # 只有条件1已经成立,才会判断条件2 条件2成立执行的代码 条件2成立执行的代码- if嵌套执行流程
- 要点
a)缩进是关键:内层的if要写在外层if的缩进里面
只有外层条件1满足,程序才会走到内层,去判断条件2;
如果条件 1 不成立,内层 if 完全不会运行。
b)内外层都可以搭配elif、else#多分支 money=1 # 1可以上车,0 没钱不可以上车 seat = 0 # 1 有座, 0 无座 if money==1: print('可以上车') if seat==1: print('可以坐下') else: print('只能站着') else: print('不可以上车')
应用:猜拳游戏
# 出拳 玩家,电脑 import random computer=random.randint(0,2) # print(computer) player=int(input('玩家请出拳:0--石头 1--剪刀 2--布:')) #判断输赢 if((player==0 and computer==1)or(player==2 and computer==0)or(player==1 and computer==2)): print('玩家胜利') elif (player==computer): print('平局') else: print('电脑获胜')- 游戏规则
- 核心知识点
a)随机数模块 random
import random:导入随机模块,必须写在最前面
random.randint(a,b):生成 [a,b] 之间包含两端的随机整数
random.randint(起始,结束)
例子 :random.randint(0,2) → 随机得到 0 / 1 /2
b)玩家输入:int(input()),input 拿到字符串,转成整数。
c)判断玩家胜利的 3 种条件#导入随机数模块 import random num=random.randint(1,10) print(num)
三目(三元)运算符
格式
变量 =条件成立执行的表达式if 条件 else条件不成立执行的表达
需求:两个变量,大减小,求差值
aa=10 bb=6 cc=aa-bb if aa>bb else bb-aa print(cc)# 三目运算符 a =1 b=2 c= b if a>b else a print(c)