如果、否则和elif

Skip to content

这是一段机器翻译的文本,可能包含错误!

重要!

if, elseelif 是您在编程学习过程中将要学到的最重要,甚至可能是最重要的概念之一。

Del 1 - if

现在我们将学习我们的第一个 关键字ifif 用于你想检查某事是否发生,或者某事是否满足某些 条件 时。

练习 1.1a

使用 if 检查你是否年满或超过 18 岁。

age = int(input("你的年龄: "))

if age > 18:
    print("你已超过18岁!")

关于空格的重要信息

你可能会注意到,最后一行开头有一个空格。在if语句中包含这个空格非常重要。你可以试着看看如果没有这个空格会发生什么:代码将无法正常运行。

练习 1.1b

如果你尝试输入正好为 18 的年龄,会发生什么?现在会有内容输出吗?让我们现在就解决这个问题!

有多种比较方式。在这里你们可以看到哪些运算符可用:

比较符 结果 示例
== 完全等于 age == 18 —— 适用于恰好是 18 的情况
> 大于 age > 18 —— 适用于 19 及以上的值
< 小于 age < 18 —— 适用于 17 及以下的值
>= 大于或等于 age >= 18 —— 适用于 18 及以上的值
<= 小于或等于 age <= 18 —— 适用于 18 及以下的值
!= 不等于 age != 18 —— 除 18 以外的所有其他情况

为了检查你是否 年满 18(即 18 岁或以上),你需要使用哪种比较符?试试看并观察会发生什么吧!

答案:
age = int(input("你的年龄是:"))

if age >= 18:
    print("你已满18岁或以上!")

任务 1.2a - 比较文本

如果要比较文本呢?是的,方法完全一样!

使用一个 input() 从用户那里获取动物名称,将值存储在一个名为 dyr(意为“动物”)的变量中。检查输入的动物是否为例如 “katte”(猫),如果是则输出一些内容。你可以这样进行文本比较:

dyr = input("你最喜欢的动物是什么: ")

if dyr == "katt":
    print("你最喜欢的动物是猫!*喵*")

任务 1.2b

如果你尝试输入 Katt,会发生什么?它能正常工作吗? KATTKaTtkATT 呢?

发生了什么?

最重要的一点是,你必须以正确的方式输入文本。在代码中,大写字母和小写字母是不同的,因此 KATTkatt 的区别就像 katthund 之间的区别一样。

Del 2 - else

下一个我们要看的关键字else。这是一个在 if 发生的事情没有发生时使用的关键字。让我们看一个例子:

练习题 2.1

使用 else 输出“未满 18 岁”的信息。如果年龄超过 18 岁,我们仍然希望显示练习 1.1b 中的消息。

答案:
age = int(input("你的年龄: "))

if age >= 18:
    print("你已满 18 岁或更大!")
else:
    print("你未满 18 岁!")

仍然要注意空格

这里重要的是 else 必须与 if 保持相同的缩进,否则 Python 将无法识别 else 属于哪个 if!我们将在 Python 3 中进一步解释关于空格的内容。

任务 2.2

修改任务 1.2a 中的代码,以便在您没有输入“katt”时打印一条消息。

答案:
dyr = input("你最喜欢的动物是什么:")

if dyr == "katt":
    print("你最喜欢的动物是猫!*喵*")
else:
    print("我不认识这种动物...")

第 3 部分 - elif

我们要看的最后一个关键字是 elifelifelse if 的缩写,意思正如你可能猜到的那样:否则如果。如果觉得困惑,我们可以看一个例子。

练习 3.1

我们将修改练习 1.2a中的代码,使其为其他动物输出类似的消息。为此我们可以使用如下形式的elif

dyr = input("你的最喜欢的动物是什么: ")

if dyr == "katt":
    print("你最喜欢的动物是猫!*喵*")
elif dyr == "hund":
    print("你最喜欢的动物是狗!*汪*")

练习 3.2a

将来自练习 2.2的代码与来自练习 3.1的代码结合,以在不匹配任何动物的情况下输出一条消息。

答案:
dyr = input("你最喜欢的动物是什么: ")

if dyr == "katt":
    print("你最喜欢的动物是猫!*喵*")
elif dyr == "hund":
    print("你最喜欢的动物是狗!*汪*")
else:
    print("我不认识这种动物...")

任务 3.2b

添加更多 elif 语句来检查更多动物。

示例回答:
dyr = input("你最喜欢的动物是什么?")

if dyr == "katt":
    print("你的最爱是猫!*喵~*")
elif dyr == "hund":
    print("你的最爱是狗!*汪~*")
elif dyr == "gris":
    print("你的最爱是猪!*哼唧声*")
elif dyr == "and":
    print("你的最爱是鸭子!*嘎~*")
elif dyr == "elefant":
    print("你的最爱是大象!*嘟嘟声*")
else:
    print("我不认识这种动物……")

记住!你可以有任意数量的 elif