在Python编程语言中,`while`循环语句是一种控制流语句,用于重复执行一段代码块,直到特定条件不再满足。`while`循环的核心在于其条件表达式,这是一个逻辑表达式,当该表达式的值为`True`时,循环体内的代码块会被执行。如果条件表达式的值变为`False`,则循环结束。
### while循环语句的语法格式
```python
while 条件表达式:
语句块
```
在这里,"条件表达式"是需要测试的逻辑表达式,"语句块"是需要重复执行的一系列语句。如果条件表达式的结果为`True`,那么就执行语句块,然后再次检查条件表达式。这个过程会一直持续到条件表达式的结果变为`False`。
### while循环的执行流程
1. 计算条件表达式的值。
2. 如果条件为`True`,执行语句块。
3. 执行完语句块后,再次检查条件表达式。
4. 如果条件依然为`True`,返回步骤2;否则,跳过语句块,循环结束。
### 示例:10的阶乘计算
```python
i = 1
n = 1
while i <= 10:
n *= i # 计算阶乘
i += 1 # 更新计数器
print("10 的阶乘为 : " + str(n))
```
在这个例子中,`i`和`n`是初始化的循环变量,`i`用于跟踪循环次数,`n`用于存储累积的阶乘值。每次循环,`n`乘以`i`,`i`增加1,直到`i`超过10,条件表达式变为`False`,循环结束。
### while else语句
`while else`结构在`while`循环的基础上增加了一个`else`子句,它在循环正常结束(即没有通过`break`语句提前退出循环)时执行。
### while else语句的语法格式
```python
while 条件表达式:
语句块A
else:
语句块B
```
如果条件表达式为`True`,执行语句块A,当条件变为`False`或者通过`break`语句跳出循环时,执行语句块B。
### 示例:输出小于5的数字
```python
count = 0
while count < 5:
print(count, " is less than 5")
count = count + 1
else:
print(count, " is not less than 5")
```
在这个例子中,当`count`小于5时,循环打印数字并增加`count`,直到`count`等于5,满足`else`子句的条件,输出`count`的值。
### 无限循环与`break`语句
`while`循环可以形成无限循环,例如:
```python
i = 1
while True:
print("第" + str(i) + "遍 computer")
i += 1
if i > 10:
break
print("循环已结束")
```
这里,`while True`创建了一个始终为`True`的条件,但通过`if`判断和`break`语句,可以在满足特定条件时退出循环。
### 课堂训练
1. 求1-100所有数字相加的和:
```python
total = 0
for i in range(1, 101):
total += i
print("1到100的和是:", total)
```
2. 输入5个同学的成绩,计算平均成绩:
```python
scores = []
total = 0
count = 0
while count < 5:
score = float(input("请输入第" + str(count + 1) + "位同学的成绩: "))
scores.append(score)
total += score
count += 1
average = total / count
print("平均成绩是:", average)
```
以上就是关于Python中的`while`循环及其`else`子句的详细解释和示例,包括如何使用它们来解决实际问题。理解并熟练运用`while`循环是Python编程的基础,也是实现复杂逻辑控制的重要工具。