if 判断语句

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不靠大括号区分代码块,完全依靠缩进空格

  1. 冒号:代表开启一块独立代码;下方所有缩进对齐的代码,全部属于这个代码块
  2. 条件为True,全部缩进内代码执行;条件False,全部跳过
  3. 编辑器会自动帮你缩进,不要手动乱改空格数量,缩进错乱直接报错
  4. 结束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)

总结

  1. if 条件: 末尾冒号千万不能丢
  2. 冒号下一行必须缩进,不缩进直接语法报错
  3. 缩进决定代码归属;嵌套if,每深一层,多一级缩进
  4. elif写多个分支,else兜底,只能放末尾
  5. 分支一旦匹配成功,后面的elif/else全部跳过

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注