Python的循环语句
在编程中,循环语句是一种非常基础的结构,它允许我们重复执行一段代码,直到满足某个条件为止。Python提供了两种主要的循环语句:for循环和while循环。每种循环都有其特定的应用场景和优势,for循环主要用于遍历序列(如列表、元组、字符串)或其他可迭代对象。在每次循环中,for语句会将可迭代对象的下一个元素赋值给变量,然后执行缩进的代码块。当遍历完可迭代对象的所有元素后,循环结束。
例如,我们可以使用for循环遍历一个列表中的所有元素:
|
fruits = ['apple', 'banana', 'cherry'] |
|
for fruit in fruits: 输出apple Banana cherry |
|
while循环则会一直执行缩进的代码块,直到指定的条件不再满足为止。在每次循环的开始,Python会检查while语句中的条件是否为真。如果为真,则执行缩进的代码块;如果为假,则跳过循环体,继续执行while循环之后的代码。
例如,我们可以使用while循环来计算一个数的阶乘:
|
n = 5 |
|
factorial = 1 |
|
i = 1 |
|
while i <= n: |
|
factorial *= i |
|
i += 1 |
|
print(f"{n}的阶乘是:{factorial}") |
输出5的阶乘是120;
在循环中,我们可能会遇到需要提前退出循环或跳过当前循环的情况。Python提供了break和continue两个关键字来实现这些功能。
break用于在循环中提前退出。当遇到break语句时,Python会立即跳出当前循环,继续执行循环之后的代码。continue用于跳过当前循环的剩余部分,直接进入下一次循环。当遇到continue语句时,Python会忽略当前循环中continue之后的代码,直接开始下一次循环。
我们可以使用break和continue来改进上面的阶乘计算代码,使其能够处理负数输入:
|
n = -3 # 假设输入了一个负数 |
|
factorial = 1 |
|
i = 1 |
|
while i <= n: |
|
if i < 0: # 如果i为负数,则提前退出循环 |
|
print("输入错误:阶乘的输入应为非负整数") |
|
break |
|
factorial *= i |
|
i += 1 |
|
else: # 当while循环正常结束时,执行这里的代码 |
在这个例子中,当i为负数时,我们使用break语句提前退出了while循环,并打印了一条错误信息。注意,else块是与while循环相关联的,它会在while循环正常结束(即没有遇到break语句)时执行。
在Python中,我们还可以在一个循环内部嵌套另一个循环。这种嵌套循环可以用于处理更复杂的问题,如二维数组的遍历、打印乘法表等。
|
for i in range(1, 10): |
|
for j in range(1, i+1): |
|
print(f"{j}x{i}={i*j}", end='\t') |
|
print() # 换行 |
这个代码会打印出一个9x9的乘法表。外部循环控制行数,内部循环控制每行的列数。当内部循环结束时,我们使用print()函数来换行,以便开始下一行的打印。总的来说,Python的循环语句提供了强大的迭代功能,使我们能够方便地处理重复的任务和复杂的数据结构。通过合理使用for循环、while循环以及循环的控制语句,我们可以编写出高效且易于维护的代码。