1.基础 if 语法
if 条件:
# 条件结果为True,才执行这里缩进内部代码
执行语句Code language: PHP (php)
if后面写判断条件,末尾必须加冒号:- 冒号之后,下一行代码必须缩进(4个空格),属于if的代码块
- 如果条件运算结果等于
True,运行缩进里面的代码;False直接跳过这整块代码
例子
if 2>1:
print("是的") #条件成立,执行打印
if 1>2:
print("不,这不可能") #条件不成立,不会执行Code language: PHP (php)
如果你的代码报错:
SyntaxError: expected an indented block
含义:if写了冒号,但是下面没有写缩进代码,语法错误。
2.缩进
Python不靠大括号区分代码块,完全依靠缩进空格
- 冒号
:代表开启一块独立代码;下方所有缩进对齐的代码,全部属于这个代码块 - 条件为True,全部缩进内代码执行;条件False,全部跳过
- 编辑器会自动帮你缩进,不要手动乱改空格数量,缩进错乱直接报错
- 结束if代码块:把光标退回到和
if同一列,不再缩进
if 2>1:
print("you are right")
print("ddd")
i = 100
print(i)
# 回到最左边,代表if代码块到此结束
print("这行不受if控制,无论条件真假永远执行")Code language: PHP (php)
3.if嵌套
if里面还可以再写if,每一层都要再多一级缩进
if 11>2:
if 12>2:
print("两个都成立")Code language: PHP (php)
外层条件先为True,才会进入,再判断内层if。
外层if不成立,内层直接不会运行。
4. if / elif / else 完整分支
if:第一个判断条件elif:else if缩写,多个额外判断条件,可以写很多个else:放在最后,上面所有if、elif全部不满足的时候,才执行else,不需要写条件
age = 20
if age>18:
print("你成年了")
elif age>12:
print("你好少年")
elif age>6:
print("你好小学生")
else:
print("小朋友")Code language: PHP (php)
从上往下依次判断,只要某一条条件命中,执行完毕,剩下分支全部跳过,不会继续判断。
例子:
OJ_price = 2.50
if OJ_price < 1.25:
print("Get one, I'm thirsty.")
elif OJ_price <= 2.00:
print("Ummm... sure, but I'll drink it slowly.")
else:
print("I don't have enough money. Never mind.")Code language: PHP (php)
练习题:找出1‑100之间,能被3整除的偶数
要求:可以使用嵌套if
逻辑:数字满足:①能被2整除(偶数) ②能被3整除
num = 1
while num <=100:
if num %2 ==0: #先判断是不是偶数
if num %3 ==0: #偶数里面再判断,能不能被3整除
print(num)
num = num + 1Code language: PHP (php)
也可以用and合并条件,不用嵌套:
num = 1
while num <=100:
if num%2==0 and num%3==0:
print(num)
num += 1Code language: HTML, XML (xml)
总结
if 条件:末尾冒号千万不能丢- 冒号下一行必须缩进,不缩进直接语法报错
- 缩进决定代码归属;嵌套if,每深一层,多一级缩进
elif写多个分支,else兜底,只能放末尾- 分支一旦匹配成功,后面的elif/else全部跳过
Previous: and / or 与或逻辑运算
Next: while循环