### Python基础之循环语句详解:for与while循环
在Python编程中,循环语句是控制流程的关键组成部分,主要用于重复执行某段代码直至满足特定条件。本文将深入探讨Python中的两种基本循环结构——`for`循环和`while`循环,并通过实例详细说明这两种循环的应用场景及其相关语法特点。
#### 一、while循环
`while`循环的基本结构如下:
```python
while 判断条件:
statements
```
这里有几个关键点需要注意:
- **条件表达式**:在每次循环开始前都会被评估,如果条件为真,则执行循环体内的语句;如果为假,则退出循环。
- **缩进**:Python中,缩进非常重要,用于定义代码块的范围。
- **更新条件**:为了避免无限循环的发生,通常需要在循环体内包含更新条件的语句。
**示例**:计算1到100的累加和。
```python
n = 100
sum = 0
counter = 1
while counter <= n:
sum = sum + counter
counter += 1
print("Sum of 1 until %d: %d" % (n, sum))
```
此例中,我们初始化了计数器`counter`为1,并在每次循环迭代中将其递增1,同时累加`sum`变量,直到`counter`超过100为止。
#### 二、for循环
`for`循环在Python中可以用于遍历任何序列(如列表、元组、字符串等)。其基本结构如下:
```python
for variable in sequence:
statements
else:
statements
```
- **序列**:可以是列表、元组或其他可迭代对象。
- **变量**:用于存储当前迭代的元素。
- **else子句**:当循环正常结束(即不是因为`break`语句导致提前退出)时执行。
**示例**:打印列表中的所有元素。
```python
languages = ["C", "C++", "Perl", "Python"]
for x in languages:
print(x)
```
这个例子展示了如何使用`for`循环遍历列表`languages`中的每一个元素。
**带有`break`语句的示例**:
```python
edibles = ["ham", "spam", "eggs", "nuts"]
for food in edibles:
if food == "spam":
print("No more spam please!")
break
print("Great, delicious " + food)
else:
print("I am so glad: No spam!")
print("Finally, I finished stuffing myself")
```
在这个例子中,一旦遇到“spam”,就通过`break`语句跳出循环,并不再执行`else`子句中的内容。
#### 三、range()函数
`range()`函数用于生成一个整数序列,常用于配合`for`循环使用。其语法如下:
```python
range(start, stop[, step])
```
- **start**:序列起始值,默认为0。
- **stop**:序列终止值(不含该值)。
- **step**:序列中相邻两数值差(默认为1)。
**示例**:使用`range()`生成一个从0到4的序列。
```python
for i in range(5):
print(i)
```
**指定区间值的示例**:
```python
for i in range(5, 9):
print(i)
```
**指定步长的示例**:
```python
for i in range(0, 10, 3):
print(i)
```
**负数步长的示例**:
```python
for i in range(-10, -100, -30):
print(i)
```
#### 四、break和continue语句
- **break**:用于立即跳出循环。
- **continue**:用于跳过当前循环迭代中的剩余语句,继续执行下一次迭代。
**示例**:查找质数。
```python
for n in range(2, 10):
for x in range(2, n):
if n % x == 0:
print(n, 'equals', x, '*', n // x)
break
else:
# 当循环中未找到元素时执行
print(n, 'is a prime number')
```
#### 五、pass语句
`pass`语句在Python中表示什么也不做,它通常作为占位符出现在代码中。
### 总结
通过上述介绍和示例,我们可以看出`for`循环和`while`循环在Python中具有广泛的应用场景。`for`循环适用于已知循环次数的情况,而`while`循环则适用于不确定循环次数但有一个明确的停止条件的情形。同时,`range()`函数和`break`/`continue`语句也是控制循环流程的重要工具。理解这些概念将有助于编写更高效、更清晰的Python代码。