跳转至

09 条件语句⚓︎

条件语句⚓︎

默认情况下,Python 脚本中的语句按顺序从上到下执行。如果处理逻辑需要,执行流程可以通过两种方式进行修改:

  • 条件执行:如果某个表达式为真,则将执行一个或多个语句块
  • 重复执行:只要某个表达式为真,就会重复执行一个或多个语句块。在本节中,我们将介绍 ifelseelif 语句。会用上之前的比较和逻辑运算符。

if 条件⚓︎

在 Python 和其他编程语言中,关键字 if 用于检查条件是否为真,并执行代码块。请记住冒号后的缩进。

# 语法
if 条件:
    当条件为真时执行此部分代码

示例:1

a = 3
if a > 0:
    print('A 是一个正数')
# A 是一个正数

正如上面的示例所示,3 大于 0。条件为真,代码块被执行。但是,如果条件为假,我们就看不到结果。为了看到假条件的结果,我们应该有另一个代码块,它将是 else

if else⚓︎

如果条件为真,将执行第一个代码块,否则将运行 else 条件。

# 语法
if 条件:
    当条件为真时执行此部分代码
else:
     当条件为假时执行此部分代码

示例:

a = 3
if a < 0:
    print('A 是一个负数')
else:
    print('A 是一个正数')

上面的条件不成立,因此执行了 else 代码块。那么如果我们的条件有两个以上怎么办?我们可以使用 elif

if elif else⚓︎

在日常生活中,我们每天都要做决策。与生活类似,编程也充满了条件。当我们有多个条件时,我们使用 elif

# 语法
if 条件:
    代码
elif 条件:
    代码
else:
    代码

示例:

a = 0
if a > 0:
    print('A 是一个正数')
elif a < 0:
    print('A 是一个负数')
else:
    print('A 是零')

简写⚓︎

# 语法
code if 条件 else code

示例:

a = 3
print('A 是正数') if a > 0 else print('A 是负数') # 第一个条件满足,将打印 'A 是正数'

嵌套条件⚓︎

条件可以嵌套

# 语法
if 条件:
    代码
    if 条件:
    代码

示例:

a = 0
if a > 0:
    if a % 2 == 0:
        print('A 是正偶数')
    else:
        print('A 是正数')
elif a == 0:
    print('A 是零')
else:
    print('A 是负数')

我们可以使用逻辑运算符 and 来避免编写嵌套条件。

if 条件和逻辑运算符⚓︎

# 语法
if 条件 and 条件:
    代码

示例:

a = 0
if a > 0 and a % 2 == 0:
        print('A 是正偶数')
elif a > 0 and a % 2 !=  0:
     print('A 是正数')
elif a == 0:
    print('A 是零')
else:
    print('A 是负数')

if 和 or 逻辑运算符⚓︎

# 语法
if 条件 or 条件:
    代码

示例:

user = 'James'
access_level = 3
if user == 'admin' or access_level >= 4:
        print('访问已授权!')
else:
    print('访问被拒绝!')

💻 练习:第 9 天⚓︎

练习:级别 1⚓︎

  1. 使用 input("输入您的年龄:") 获取用户输入。如果用户年龄为 18 岁或更高,给予反馈:您足够年龄学习开车了。如果年龄低于 18 岁,请提供等待缺少年龄的反馈。输出:

    输入您的年龄:30
    您足够年龄学习开车了。
    输出:
    输入您的年龄:15
    您需要再等待 3 年才能学开车。
    
  2. 使用 if ... else 比较 my_age 和 your_age 的值。谁更年长(我还是你)?使用 input("输入您的年龄:") 获取年龄作为输入。您可以使用嵌套条件来打印 1 年年龄差异的 'year',更大的差异的 'years',如果 my_age = your_age,则打印自定义文本。输出:

    输入您的年龄:30
    你比我大 5 岁。
    
  3. 使用 input 提示从用户获取两个数字。如果 a 大于 b,则返回 a 大于 b,如果 a 小于 b,则返回 a 小

于 b,否则 a 等于 b。输出:

```sh
输入第一个数字:4
输入第二个数字:3
4 大于 3
```

练习:级别 2⚓︎

  1. 编写一个代码,根据学生的得分给予他们成绩:

    80-100, A
    70-89, B
    60-69, C
    50-59, D
    0-49, F
    
  2. 检查季节是秋天、冬天、春天还是夏天。如果用户输入是: 9 月、10 月或 11 月,则季节是秋天。 12 月、1 月或 2 月,则季节是冬天。 3 月、4 月或 5 月,则季节是春天。 6 月、7 月或 8 月,则季节是夏天。

  3. 以下列表包含一些水果:

    fruits = ['banana', 'orange', 'mango', 'lemon']
    

    如果一个水果不存在于列表中,将该水果添加到列表中并打印修改后的列表。如果水果存在,则打印('该水果已存在于列表中')。

练习:级别 3⚓︎

  1. 这里我们有一个人的字典。随意修改它!
    person = {
        'first_name': 'Asabeneh',
        'last_name': 'Yetayeh',
        'age': 250,
        'country': 'Finland',
        'is_married': True,
        'skills': ['JavaScript', 'React', 'Node', 'MongoDB', 'Python'],
        'address': {
            'street': 'Space street',
            'zipcode': '02210'
        }
    }
* 检查 person 字典是否具有 skills 键,如果是,则打印 skills 列表中的中间技能。
* 检查 person 字典是否具有 skills 键,如果是,则检查 person 是否具有 'Python' 技能并打印结果。
* 如果一个人的技能只有 JavaScript 和 React,请打印('他是前端开发人员'),如果一个人的技能有 Node、Python、MongoDB,请打印('他是后端开发人员'),如果一个人的技能有 React、Node 和 MongoDB,请打印('他是全栈开发人员'),否则打印('未知职称') - 为了获得更精确的结果,可以嵌套更多条件!
* 如果这个人结婚了,并且他住在芬兰,请以以下格式打印信息:
    Asabeneh Yetayeh 住在芬兰他已婚