Python 条件语句与循环结构详解

一、条件语句

1.1 if 语句

if 语句是最基本的条件控制结构,用于根据某个条件的真假来决定是否执行对应的代码块。当条件表达式为 True 时,执行 if 后的代码块;否则,跳过该代码块。

语法格式:
if 条件表达式:
    代码块
示例代码:
x = 10
if x > 5:
    print("x 大于 5")

1.2 if-else 语句

当需要在条件为 False 时执行另一组代码,可以使用 if-else 语句。

语法格式:
if 条件表达式:
    代码块1
else:
    代码块2
示例代码:
x = 3
if x > 5:
    print("x 大于 5")
else:
    print("x 小于或等于 5")

1.3 if-elif-else 语句

当有多个条件需要依次判断时,可以使用 if-elif-else 结构。

语法格式:
if 条件表达式1:
    代码块1
elif 条件表达式2:
    代码块2
else:
    代码块3
示例代码:
x = 5
if x > 5:
    print("x 大于 5")
elif x == 5:
    print("x 等于 5")
else:
    print("x 小于 5")

1.4 嵌套 if 语句

在一个 if 语句内部可以嵌套另一个 if 语句,形成复杂的条件判断。

示例代码:
x = 8
if x > 5:
    if x < 10:
        print("x 在 5 和 10 之间")
    else:
        print("x 大于或等于 10")
else:
    print("x 小于或等于 5")

1.5 if 语句的简洁写法(条件表达式)

Python 提供了一种简洁的 if 语句写法,称为条件表达式(也叫三元运算符),适用于简单的条件判断。

语法格式:
result =1 if 条件表达式 else2
示例代码:
x = 10
y = 20
max_value = x if x > y else y
print(max_value)  # 输出 20

二、循环结构

2.1 while 循环

while 循环是根据条件表达式的结果决定是否执行代码块的循环结构。当条件表达式为 True 时,执行代码块;当条件表达式为 False 时,跳出循环。

语法格式:
while 条件表达式:
    代码块
示例代码:
x = 0
while x < 5:
    print(x)
    x += 1

2.2 for 循环

for 循环用于遍历序列(如列表、元组、字符串等)或任何可迭代对象。它会依次将序列中的每个元素赋值给变量,并执行代码块。

语法格式:
for 变量 in 序列:
    代码块
示例代码:
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)

2.3 range() 函数

range() 函数常与 for 循环配合使用,用于生成一系列数字,常见于需要循环固定次数的场景。

语法格式:
range(start, stop[, step])
  • start:计数从 start 开始。默认是 0
  • stop:计数到 stop 结束,但不包括 stop
  • step:步长,默认为 1
示例代码:
for i in range(5):
    print(i)  # 输出 0, 1, 2, 3, 4

2.4 嵌套循环

循环结构也可以嵌套使用,即在一个循环的内部再嵌套另一个循环。

示例代码:
for i in range(3):
    for j in range(2):
        print(f"i={i}, j={j}")

2.5 breakcontinue 语句

  • break 语句用于立即退出循环,不再执行循环中余下的代码。
  • continue 语句用于跳过当前循环的剩余部分,并继续下一次循环。
示例代码:

使用 break 退出循环:

for i in range(5):
    if i == 3:
        break
    print(i)  # 输出 0, 1, 2

使用 continue 跳过当前迭代:

for i in range(5):
    if i == 3:
        continue
    print(i)  # 输出 0, 1, 2, 4

三、条件语句与循环结构的高级用法

3.1 列表推导式(List Comprehension)

列表推导式是 Python 提供的一种简洁语法,用于生成列表。它可以结合条件语句和循环结构,使得代码更加简洁。

语法格式:
[表达式 for 变量 in 序列 if 条件表达式]
示例代码:
# 创建一个包含1到10之间所有偶数的列表
even_numbers = [x for x in range(1, 11) if x % 2 == 0]
print(even_numbers)  # 输出 [2, 4, 6, 8, 10]

3.2 字典推导式(Dictionary Comprehension)

字典推导式类似于列表推导式,但用于生成字典。

语法格式:
{:for 变量 in 序列 if 条件表达式}
示例代码:
# 创建一个字典,键为数字,值为其平方
squares = {x: x**2 for x in range(1, 6)}
print(squares)  # 输出 {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

3.3 集合推导式(Set Comprehension)

集合推导式用于生成集合,与列表推导式类似,但结果是一个集合(无序且不重复)。

语法格式:
{表达式 for 变量 in 序列 if 条件表达式}
示例代码:
# 创建一个包含1到10之间所有奇数的集合
odd_numbers = {x for x in range(1, 11) if x % 2 != 0}
print(odd_numbers)  # 输出 {1, 3, 5, 7, 9}

3.4 生成器表达式(Generator Expression)

生成器表达式用于生成一个生成器对象,它是一种惰性求值的序列,可以在需要时动态生成元素,而不是一次性生成所有元素,适用于处理大量数据或无穷序列。

语法格式:
(表达式 for 变量 in 序列 if 条件表达式)
示例代码:
# 创建一个生成器,用于生成1到10之间的偶数
even_gen = (x for x in range(1, 11) if x % 2 == 0)
print(next(even_gen))  # 输出 2
print(next(even_gen))  # 输出 4

3.5 使用 else 语句

在 Python 中,循环结构可以结合 else 语句使用。当循环正常结束时,else 语句块会被执行;如果循环被 break 语句打断,else 语句块不会执行。

示例代码:
for i in range(5):
    if i == 3:
        break
    print(i)
else:
    print("循环正常结束")

在这个例子中,由

于循环被 break 打断,else 语句块不会执行。

四、实战案例:条件语句与循环结构在实际项目中的应用

4.1 经典的FizzBuzz问题

FizzBuzz 是一个经典的编程面试问题:打印从 1 到 100 的所有数字,但对于 3 的倍数打印 “Fizz”,对于 5 的倍数打印 “Buzz”,对于即是 3 的倍数又是 5 的倍数打印 “FizzBuzz”。

示例代码:
for i in range(1, 101):
    if i % 3 == 0 and i % 5 == 0:
        print("FizzBuzz")
    elif i % 3 == 0:
        print("Fizz")
    elif i % 5 == 0:
        print("Buzz")
    else:
        print(i)

4.2 列表去重

利用条件语句与循环结构,手动实现一个列表去重功能。

示例代码:
def remove_duplicates(lst):
    unique_list = []
    for item in lst:
        if item not in unique_list:
            unique_list.append(item)
    return unique_list

my_list = [1, 2, 2, 3, 4, 4, 5]
print(remove_duplicates(my_list))  # 输出 [1, 2, 3, 4, 5]

4.3 查找质数

使用循环结构与条件判断查找指定范围内的所有质数。

示例代码:
def is_prime(n):
    if n <= 1:
        return False
    for i in range(2, int(n ** 0.5) + 1):
        if n % i == 0:
            return False
    return True

prime_numbers = [x for x in range(2, 101) if is_prime(x)]
print(prime_numbers)

五、总结

Python 中的条件语句和循环结构是构建程序逻辑的核心工具。通过对这些语法结构的灵活运用,我们可以有效地控制程序的执行流程,并实现复杂的业务逻辑。本文详细介绍了 if 语句、while 循环、for 循环等基本语法,探讨了列表推导式、字典推导式、生成器表达式等高级用法,最后通过实战案例展示了条件语句与循环结构在实际项目中的应用。掌握这些内容将为你在 Python 编程中编写高效、优雅的代码打下坚实的基础。

  • 14
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一休哥助手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值