您的位置:首页 > 新闻 > 会展 > Python 条件语句与循环结构详解

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

2024/10/9 14:19:34 来源:https://blog.csdn.net/fudaihb/article/details/141670746  浏览:    关键词: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:breakprint(i)  # 输出 0, 1, 2

使用 continue 跳过当前迭代:

for i in range(5):if i == 3:continueprint(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:breakprint(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_listmy_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 Falsefor i in range(2, int(n ** 0.5) + 1):if n % i == 0:return Falsereturn Trueprime_numbers = [x for x in range(2, 101) if is_prime(x)]
print(prime_numbers)

五、总结

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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com