【Python入门第十一讲】条件控制语句(if)

2024-02-20 17:31:02 浏览数 (2)

编程时经常需要检查一系列条件,并据此决定采取什么措施。在Python中, if语句让你能够检查程序的当前状态,并据此采取相应的措施。

简介

条件控制语句是编程中用来根据条件决定程序执行流程的结构。在 Python 中,主要的条件控制语句包括 ifelif(可选)、else(可选),它们的结构如下:

代码语言:python代码运行次数:1复制
if condition1:
    # 如果 condition1 为真,则执行这里的代码块
elif condition2:
    # 如果 condition1 为假且 condition2 为真,则执行这里的代码块
else:
    # 如果上述条件都不满足,则执行这里的代码块
  • if 语句是必需的,用于检查某个条件是否为真。如果条件为真,则执行 if 代码块中的语句。
  • elif 语句是可选的,允许检查多个条件。如果之前的条件都不为真,且当前条件为真,则执行 elif 代码块中的语句。
  • else 语句也是可选的,用于处理所有前面条件都不满足的情况。

条件控制语句的使用可以使程序根据不同的条件执行不同的代码,实现灵活的逻辑分支。在 Python 中,代码块的缩进非常重要,它决定了哪些语句属于哪个条件分支。

if 语句

if 语句是 Python 中最基本的条件控制语句之一,用于根据条件的真假执行不同的代码块。下面是 if 语句的一般结构:

代码语言:python代码运行次数:0复制
if condition:
    # 如果条件为真,则执行这里的代码块
  • condition 是一个表达式,它可以是变量、比较、逻辑运算等,返回布尔值 TrueFalse
  • 如果 conditionTrue,则执行 if 语句后面缩进的代码块;如果为 False,则跳过该代码块,继续执行下一个语句。

示例:

代码语言:python代码运行次数:1复制
age = 20

if age >= 18:
    print("你已经成年了!")

在这个示例中,如果 age 的值大于或等于 18,则会打印出 "你已经成年了!",否则什么也不会发生。

if - else 语句

elseif 语句:有时候,我们希望在条件不满足时执行一些备选代码,这时可以使用 else 语句。else 语句与 if 语句配合使用,形成 if-else 结构。

代码语言:python代码运行次数:0复制
if condition:
    # 如果条件为真,则执行这里的代码块
else:
    # 如果条件为假,则执行这里的代码块

示例:

代码语言:python代码运行次数:0复制
age = 20

if age >= 18:
    print("你已经成年了!")
else:
    print("你还未成年。")

在示例中,如果 age 的值大于或等于 18,则会打印出 "你已经成年了!";否则,打印出 "你还未成年。"。

if - elif - else语句

if 语句可以根据条件的真假执行不同的代码分支,是 Python 中控制程序流程的重要工具。

if-elif-else 语句是 Python 中用于多条件判断的一种结构。它允许根据不同的条件执行不同的代码块。以下是 if-elif-else 语句的一般结构:

代码语言:python代码运行次数:0复制
if condition1:
    # 如果 condition1 为真,则执行这里的代码块
elif condition2:
    # 如果 condition1 为假,但 condition2 为真,则执行这里的代码块
elif condition3:
    # 如果 condition1 和 condition2 都为假,但 condition3 为真,则执行这里的代码块
...
else:
    # 如果所有条件都为假,则执行这里的代码块
  • condition1condition2condition3 等是一系列条件表达式,它们返回布尔值 TrueFalse
  • 如果 condition1True,则执行 if 语句后面缩进的代码块;如果为 False,则继续检查下一个 elif 条件。
  • 如果某个 elif 的条件为 True,则执行该 elif 语句后面缩进的代码块,并跳过其他所有 elifelse 语句。
  • 如果所有条件都为 False,则执行 else 语句后面缩进的代码块。

示例:

代码语言:python代码运行次数:0复制
score = 85

if score >= 90:
    print("优秀")
elif score >= 80:
    print("良好")
elif score >= 70:
    print("中等")
elif score >= 60:
    print("及格")
else:
    print("不及格")

在示例中,根据分数的不同区间,打印出对应的评价。

嵌套使用

嵌套使用 if-elif-else 语句意味着在一个条件控制块中嵌套另一个条件控制块。这种结构可以让你根据更复杂的条件组合执行特定的代码块。

嵌套示例:

代码语言:python代码运行次数:0复制
x = 10
y = 5

if x > y:
    print("x 大于 y")
elif x < y:
    print("x 小于 y")
else:
    print("x 等于 y")

在示例中,我们在主 if-elif-else 语句块中嵌套了另一个条件控制块。例如,我们可以在 x > y 的情况下进一步检查 xy 是否为偶数:

代码语言:python代码运行次数:0复制
x = 10
y = 5

if x > y:
    print("x 大于 y")
    if x % 2 == 0:
        print("x 是偶数")
    else:
        print("x 是奇数")
elif x < y:
    print("x 小于 y")
else:
    print("x 等于 y")

在这个示例中,当 x > y 时,我们检查 x 是否为偶数。根据 xy 的不同关系,可以嵌套任意层级的条件控制块,以满足特定的逻辑需求。

常用的基础运算符

比较运算符

  • ==:等于
  • !=:不等于
  • <:小于
  • >:大于
  • <=:小于等于
  • >=:大于等于

逻辑运算符

  • and:与,两个条件都为真时为真
  • or:或,两个条件中任意一个为真时为真
  • not:非,取反

成员运算符

  • in:如果在指定的序列中找到值返回 True,否则返回 False
  • not in:如果在指定的序列中没有找到值返回 True,否则返回 False

这些运算符可以在条件控制语句中用于构建复杂的逻辑表达式,根据条件的组合来决定程序的执行路径。

比较运算符示例

代码语言:python代码运行次数:0复制
x = 5
y = 10

# 等于
if x == y:
    print("x 等于 y")
else:
    print("x 不等于 y")

# 大于等于
if x >= y:
    print("x 大于等于 y")
else:
    print("x 小于 y")

逻辑运算符示例

代码语言:python代码运行次数:0复制
a = True
b = False

# 与
if a and b:
    print("a 和 b 都为 True")
else:
    print("a 和 b 至少有一个不为 True")

# 或
if a or b:
    print("a 或 b 至少有一个为 True")
else:
    print("a 和 b 都不为 True")

# 非
if not b:
    print("b 为 False")
else:
    print("b 为 True")

成员运算符示例

代码语言:python代码运行次数:0复制
my_list = [1, 2, 3, 4, 5]

# 在列表中
if 3 in my_list:
    print("3 在列表中")
else:
    print("3 不在列表中")

# 不在列表中
if 6 not in my_list:
    print("6 不在列表中")
else:
    print("6 在列表中")

这些示例展示了如何使用不同的基础运算符在条件控制语句中进行逻辑判断。

扩展 - 猜拳游戏

猜拳游戏是一个简单而有趣的游戏,可以通过 Python 编程来实现。下面是一个简单的猜拳游戏的示例代码:

代码语言:python代码运行次数:0复制
import random

def get_user_choice():
    """获取用户选择"""
    while True:
        print("请输入你的选择:")
        print("1. 石头")
        print("2. 剪刀")
        print("3. 布")
        choice = input("你的选择是:")
        if choice in ['1', '2', '3']:
            return int(choice)
        else:
            print("请输入有效的选项!")

def get_computer_choice():
    """获取计算机选择"""
    return random.randint(1, 3)

def print_choices(user_choice, computer_choice):
    """打印用户和计算机的选择"""
    choices = ['石头', '剪刀', '布']
    print(f"你的选择是:{choices[user_choice - 1]}")
    print(f"计算机的选择是:{choices[computer_choice - 1]}")

def determine_winner(user_choice, computer_choice):
    """判断胜负"""
    if user_choice == computer_choice:
        return "平局"
    elif (user_choice == 1 and computer_choice == 2) or 
         (user_choice == 2 and computer_choice == 3) or 
         (user_choice == 3 and computer_choice == 1):
        return "你赢了!"
    else:
        return "计算机赢了!"

def main():
    print("欢迎来到猜拳游戏!")
    while True:
        user_choice = get_user_choice()
        computer_choice = get_computer_choice()
        print_choices(user_choice, computer_choice)
        result = determine_winner(user_choice, computer_choice)
        print(result)
        play_again = input("你想再玩一次吗?(yes/no): ")
        if play_again.lower() != 'yes':
            print("谢谢你的参与!")
            break

if __name__ == "__main__":
    main()

在这个程序中,用户和计算机都可以选择石头、剪刀或布。然后,程序会判断胜负,并打印结果。用户可以选择是否再玩一次。

我正在参与2024腾讯技术创作特训营第五期有奖征文,快来和我瓜分大奖!

0 人点赞