跳转到主要内容
模块 1 · 第 3 课(共 4)课程中的3/36~10 min
模块课程(3/4)

条件语句:if、elif、else

条件让您根据条件运行不同的代码 布尔表达式的值。在Python中,它们是用if、elif编写的 (“else if”的简写)和 else。

基本形式

Python
eta = 18
if eta >= 18:
    messaggio = "maggiorenne"
else:
    messaggio = "minorenne"

注意:

  • 条件后面总是有一个冒号 :;
  • if“内部”的块由缩进(4 个空格)标识;
  • 条件周围不需要括号(尽管这是允许的)。

更多具有 elif 的分支

Python
voto = 7
if voto >= 9:
    giudizio = "ottimo"
elif voto >= 7:
    giudizio = "buono"
elif voto >= 6:
    giudizio = "sufficiente"
else:
    giudizio = "insufficiente"

elif 分支按照您编写它们的顺序进行评估,并且它们停止于 第一个被证明是正确的。

条件表达式(三元)

对于简单的情况,您可以将所有内容写在一行上:

Python
eta = 20
messaggio = "maggiorenne" if eta >= 18 else "minorenne"

它用英语自然地读起来:“maggiorenne if eta >= 18 else 未成年人”。

“真”/“假”值

条件不一定是比较:任何值都可以 可以作为条件使用。这些被认为是错误的:False、None、0、 ""、[]、{}。其他一切都是真的。

Python
nome = "Ada"
if nome:
    saluto = f"Ciao {nome}!"
else:
    saluto = "Ciao sconosciuto!"

条件表达式(三元运算符)

Python 支持紧凑的单行 if-else 构造,它充当其他语言中的三元运算符:

Python
result = "Even" if n % 2 == 0 else "Odd"

当您只需要根据条件分配值时,这可以使您的代码保持简洁。

自己尝试一下

锻炼#python.m1.l3.e1
尝试:0加载中...

给定“number = 15”,如果数字 > 0,则将字符串“positivo”分配给“sign”;如果数字为 0,则分配“零”;否则分配“negativo”。评估“标志”。

正在加载编辑器...
显示提示

三个分支:> 0,== 0,否则。

3 次尝试后可用的解决方案

复习练习

锻炼#python.m1.l3.e2
尝试:0加载中...

给定“age = 20”,使用三元表达式(if/else 在一行上)将字符串“maggiorenne”或“minorenne”分配给“category”。

正在加载编辑器...
显示提示

语法: value_if_true if 条件 else value_if_false

3 次尝试后可用的解决方案

额外的挑战

锻炼#python.m1.l3.e3
尝试:0加载中...

Write a conditional structure that checks if the variable `x` (initialized to `-5`) is greater than 0, less than 0, or equal to 0. Assign the string `'positive'`, `'negative'`, or `'zero'` to `sign` accordingly. Finally, evaluate `sign`.

正在加载编辑器...
显示提示

使用 if x > 0:、elif x < 0: 和 else: 来处理这三种情况。

3 次尝试后可用的解决方案