Python中的循环语句是编程中非常重要的结构,它们允许你重复执行一段代码多次,直到满足某个条件为止。Python提供了两种主要的循环类型:for
循环和while
循环。
1. for
循环
for
循环用于遍历任何序列(如列表、元组、字符串)或其他可迭代对象(如字典的项、集合的元素等)中的元素。在每次迭代中,循环变量会被赋予序列中的下一个元素,然后执行循环体中的代码。
基本语法:
for 变量 in 序列:
# 循环体
示例:
- 遍历列表中的元素:
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
输出:
apple
banana
cherry
- 使用
range()
函数生成数字序列进行遍历:
for i in range(5): # 生成0到4的数字序列
print(i)
输出:
0
1
2
3
4
- 遍历字典的键值对:
person = {"name": "John", "age": 30, "city": "New York"}
for key, value in person.items():
print(key, ":", value)
输出:
name : John
age : 30
city : New York
2. while
循环
while
循环会在给定的条件为真时重复执行一段代码块。与for
循环不同,while
循环需要在循环体内部更新循环条件,以避免创建无限循环。
基本语法:
while 条件表达式:
# 循环体
# 更新循环条件(通常是可选的,但为了避免无限循环,通常需要这样做)
示例:
- 使用
while
循环打印数字1到5:
count = 1
while count <= 5:
print(count)
count += 1
输出:
1
2
3
4
5
- 使用
while
循环进行无限循环(需要手动停止,如使用break
或Ctrl+C
):
count = 1
while True: # 无限循环
print(count)
count += 1
if count > 5:
break # 跳出循环
输出(直到count
大于5时停止):
1
2
3
4
5
循环控制语句
break
语句:用于立即退出循环,不再执行循环体中剩余的语句,也不论循环条件是否仍为True。continue
语句:用于跳过当前循环的剩余语句,并继续循环的下一个迭代。else
子句:for
和while
循环都可以有一个可选的else
子句,它在循环正常结束(即不是通过break
语句退出)时执行。
示例:
- 使用
break
语句退出循环:
for i in range(1, 10):
if i == 5:
break
print(i)
输出:
1
2
3
4
- 使用
continue
语句跳过某些迭代:
for i in range(1, 10):
if i % 2 == 0:
continue
print(i)
输出:
1
3
5
7
9
- 使用
else
子句在循环正常结束时执行代码:
for i in range(1, 4):
print(i)
else:
print("循环正常结束")
输出:
1
2
3
循环
range()
函数在 Python 中非常常用,特别是在 for
循环中生成数字序列。下面我将详细介绍 range()
函数,并将其与循环语句结合起来
range()
函数
range()
函数生成一个整数序列,通常用于 for
循环中。它有三个可选参数:start
(起始值,默认为0)、stop
(结束值,但不包括此值)、step
(步长,默认为1)。
基本语法:
range(start, stop[, step])
start
:序列的起始值(默认为0)。stop
:序列的结束值(不包括此值)。step
:两个值之间的差(默认为1)。
返回值:
range()
函数返回一个 range
对象,它代表一个不可变的整数序列。为了查看实际的序列值,你可以将其转换为列表,使用 list()
函数。
示例:
- 生成一个简单的数字序列:
for i in range(5): # 相当于 range(0, 5)
print(i)
输出:
0
1
2
3
4
- 指定起始值和结束值:
for i in range(2, 7):
print(i)
输出:
2
3
4
5
6
- 指定步长:
for i in range(0, 10, 2): # 步长为2
print(i)
输出:
0
2
4
6
8
- 将
range
对象转换为列表:
print(list(range(3, 10, 2)))
输出:
[3, 5, 7, 9]
结合循环语句和 range()
函数
range()
函数与 for
循环和 while
循环都可以结合使用,但通常与 for
循环一起使用,因为它提供了一个简洁的方式来遍历一个数字序列。
for
循环与 range()
结合示例:
- 遍历一个数字序列,并计算它们的平方:
for i in range(1, 6):
square = i ** 2
print(f"{i} 的平方是 {square}")
输出:
1 的平方是 1
2 的平方是 4
3 的平方是 9
4 的平方是 16
5 的平方是 25
注意:虽然 while
循环也可以与 range()
结合使用,但这样做通常比较复杂且不是首选方法,因为 for
循环更简洁、更直观。然而,在需要更复杂的控制逻辑时,while
循环可能更加灵活。
通过上面的介绍,你应该对 Python 中的 range()
函数以及它如何与循环语句结合使用有了更深入的理解。
示例 打印九九乘法表
# 通过外层循环控制行数
for i in range(1, 10):
# 通过内层循环控制每一行的数据
for j in range(1, i + 1):
# 在内层循环中输出每一行的内容
print(f"{j} * {i} = {j * i}\t", end='')
# 外层循环可以通过print输出一个回车符
print()