关于 if 语句的理解

由 叶清风 发布

if 语句是什么?

if 语句是一种条件判断语句,可根据条件测试的表达式得出的布尔类型的值在给定的若干条语句
中进行选择且只选择 一条语句 进行执行。

if 语句的结构

  1. 简单结构:

    if condition:
        do something
  2. if - else 结构:

    if condition:
        do something
    else:
        do something
  3. if - elif - else 结构:

    if condition:
        do something
    elif conditiong:
        do something
    else:
        do something
  4. 使用多个 elif 代码块:

    if condition:
        do something
    elif condition:
        do something
    elif condition:
        do something
    ···
    # 可重复多个 elif 模块。
    else:
        do something
  5. 省略 else 代码块:

    if condition:
        do something
    elif condition:
        do something
    elif condition:
        do something
    ···
    # 可以重复多个 elif 模块。

上述的 if 语句的结构可以处理很多种情况,但是这些情况往往只需要确认一个条件,那么当我
们需要处理需要确认多个条件的情况时,应该怎么处理呢?我们可以使用多个单独的 if 语句来
确认多个条件。

例:

if condition:
    do something
if condition:
    do something
if condition:
    do something
···
# 可以重复若干次,一个 if 语句确认答案后并不会跳过剩下的 if 语句,而是继续执行剩下的
# if 语句。

使用 if 语句处理列表

检查特殊元素

检查方法:

  1. 使用 for 循环遍历列表;
  2. 使用 if 核对列表里的每个数值是否是自己需要检查的特殊元素;
  3. 输出结果。

原理:
使用 for 循环便利列表,可以使每次循环都使 if 语句只比对一个列表中的元素。

确认列表是否为空

检查方法:
将列表名直接放在 if 语句的条件测试的位置,如果列表不为空,就会直接执行 if 语句后面的
句子,如果列表为空,就直接跳过 if 语句后面的句子。

原理:
当在 if 语句中将列表名用作条件表达式时,Python 将在列表至少包含一个元素时返
回 True,并在列表为空时返回 False。

测试两个列表元素的交集

检查方法:

  1. 使用 for 循环遍历一个列表;
  2. 使用 if 语句测试本次循环中被遍历的值是否存在于另一个列表中,并根据结果输出值;
  3. 根据输出值得出两个列表的交集。

原理:
for 循环每遍历出一个值,if 语句就开始确认这个值是否在另一个列表中,并根据结果选择执行的语句。

实例

# 假设在游戏中刚射杀了一个外星人,请创建一个名为 alien_color 的变量,并将其赋值为'gr
# een'、'yellow'或'red'。
#  1. 编写一条 if 语句,检查外星人是否是绿色的。如果是,就打印一条消息,指出
#     玩家获得了 5 分。
#  2. 编写这个程序的两个版本,在一个版本中上述测试通过了,而在另一个版本中
#     未通过(未通过测试时没有输出)。
alien_color = 'yellow'
if alien_color == 'green':
    print('The player receives five points.')

alien_clolor = 'green'
if alien_color == 'green':
    print('The player receives five points.')

# 像上述题目一样设置外星人的颜色,并编写一个 if-else结构。
# 1. 如果外星人是绿色的,就打印一条消息,指出玩家因射杀该外星人获得了 5 分。
# 2. 如果外星人不是绿色的,就打印一条消息,指出玩家获得了 10 分。
# 3. 编写这个程序的两个版本,在一个版本中执行 if 代码块,在另一个版本中执行else 代码
# 块。
alien_color = input('Please enter one of the three colours "yellow, green or re\
d":')
if alien_color == 'green':
    print('The player receives five points.')
else:
    print('The player receives ten points.')

# 将第二个题目的 if-else 结构改为 if-elif-else 结构。
# 1. 如果外星人是绿色的,就打印一条消息,指出玩家获得了 5 分。
# 2. 如果外星人是黄色的,就打印一条消息,指出玩家获得了 10 分。
# 3. 如果外星人是红色的,就打印一条消息,指出玩家获得了 15 分。
# 4. 编写这个程序的三个版本,分别在外星人为绿色、黄色和红色时打印一条消息。
alien_color = input('Please enter one of the three colours "yellow, green or re\
d":')
if alien_color == 'green':
    print('The player receives five points.')
elif alien_color == 'yellow':
    print('The player receives ten points.')
else:
    print('The player receives fifteen points.')

# 设置变量 age 的值,再编写一个 if-elif-else 结构,
# 1. 根据 age 的值判断一个人处于人生的哪个阶段。
# 2. 如果年龄小于 2 岁,就打印一条消息,指出这个人是婴儿。
# 3. 如果年龄为 2(含)~4 岁,就打印一条消息,指出这个人是幼儿。
# 4. 如果年龄为 4(含)~13 岁,就打印一条消息,指出这个人是儿童。
# 5. 如果年龄为 13(含)~20 岁,就打印一条消息,指出这个人是青少年。
# 6. 如果年龄为 20(含)~65 岁,就打印一条消息,指出这个人是成年人。
# 7. 如果年龄超过 65 岁(含),就打印一条消息,指出这个人是老年人。
age = int(input('Please enter an age:'))
if age < 2:
    print('This is the baby.')
elif age >= 2 and age < 4:
    print('This is the Toddler.')
elif age >= 4 and age < 13:
    print('This is the child.')
elif age >= 13 and age < 20:
    print('This is the Teenager.')
elif age >= 20 and age < 65:
    print('This is the adult.')
elif age >= 65 and age < 120:
    print('This is the elderly.')
elif age >= 120:
    print("Nice guy, you've outlived the longest-lived person to get it.")

# 创建一个列表,其中包含你喜欢的水果,再编写一系列独
# 立的 if 语句,检查列表中是否包含特定的水果。
# 将该列表命名为 favorite_fruits,并在其中包含三种水果。
# 编写 5 条 if 语句,每条都检查某种水果是否包含在列表中。如果是,就打印一条消息,下面
# 是一个例子。
# You really like bananas!
favorite_fruits = ['apple', 'bananas', 'pineapple']
if 'apple' in favorite_fruits:
    print('苹果很好吃。')
if 'bananas' in favorite_fruits:
    print('香蕉很好吃。')
if 'pineapple' in favorite_fruits:
    print('菠萝很好吃。')
if 'dragon_fruit' in favorite_fruits:
    print('火龙果不在列表中。')
if 'lechee' in favorite_fruits:
    print('荔枝不在列表中。')

# 测试用户名属于普通用户还是管理员,并打印欢迎消息。
user = ['OwO_123', 'OwO_996']
admin = ['OwO_233']
shuru = input('请输入您的用户名:')
if shuru in user:
    print(f'Hello, {shuru}. Welcome to OwO_233 blog.')
elif shuru in admin:
    print(f'Hello, {shuru}. Welcome to the console.')
else:
    print('You do not appear to be a registered user of this blog.')

# 检查空列表。
empty_list = []
if empty_list:
    print('这是空列表。')
else:
    print('这不是空列表。')

# 检查用户名。
current_users = ['OwO', 'Jake', 'Test', 'Moon', 'Sun']
new_users = ['test', 'moon', 'Jone']
lower_users = current_users[:]
lower_users = [lower_user.lower() for lower_user in lower_users]
for new_user in new_users:
    if new_user in lower_users:
        print(f'{new_user} is registered.')
    else:
        print(f'{new_user} is new.')

# 为序数添加后缀。
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]
for number in numbers:
    if number == 1:
        print('1st')
    elif number == 2:
        print('2nd')
    elif number == 3:
        print('3rd')
    else:
        print(f'{number}th')

暂无评论

发表评论