You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

91 lines
3.0 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 1.1.4 分支与循环
## 分支结构
`Python`中的分支结构又叫条件语句,`Python`条件语句是通过一条或多条语句的执行结果(`True`或者`False`)来决定执行的代码块。可以通过下图来简单了解条件语句的执行过程:
![](3.jpg)
`Python`语言中分支结构的使用if语句实现其一般的形式如下
```python
if <条件1>
<语句块1>
elif <条件2>
<语句块2>
elif <条件3>
<语句块3>
:
else:
<语句块n>
```
当`if`语句执行时,首先会测试`<条件1>`,如果结果为`True`,则执行`<语句块1>``<条件1>`为`False`,则会测试`<条件2>`,依此类推,`Python`会执行第一个测试结果为`True`的`<语句块>`,如果所有的`<条件>`均为`False`,则执行`else`后的`<语句块n>`。任何语句的部分也还可以嵌套`if`语句。
例如现在需要编写一个程序将学生的数学成绩转换成`A, B, C, D`三等,规则是:成绩高于`85`分则为`A`,成绩在`70到85分`之间的为`B`,成绩在`60到70分`之间的为`C`,成绩低于`60`分的为`D`.那么代码如下:
```python
score = 88
if score > 85:
print('A')
elif score >= 70:
print('B')
elif score >= 60:
print('C')
else
print('D')
```
会看到代码的输出为: `A`
## 循环结构
### for循环
`for`循环在`Python`中是一个通用的迭代器,可以遍历任何有序的序列对象内的元素。`for`语句可用于字符串、列表、元组、文件等可迭代对象。`for`循环格式如下:
```python
for <循环变量> in <遍历结构>:
<语句块1>
else:
<语句块2>
```
`for`循环也可称为“遍历循环”,是因为`for`语句的循环执行次数是根据遍历结构中元素个数确定的。遍历循环可以理解为从遍历结构中逐一提取元素,放在循环变量中,对于每个所提取的元素执行一次语句块。
### while循环
```python
while <条件>
<语句块1> #重复执行的部分,称为循环体
else: #可选部分
<语句块2>
```
如果不是执行`break`语句而结束循环,`<语句块2>`才会被执行。
## 循环控制语句
循环控制语句可以更改语句执行的顺序。`Python`支持以下循环控制语句:
| 控制语句 | 描述 |
| ------------ | ------------ |
|break语句 | 在语句块执行过程中终止循环,并且跳出整个循环 |
| continue语句 | 在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环。 |
| pass语句 | pass是空语句是为了保持程序结构的完整性。 |
如果要计算`1-100`的整数之和,从`1`写到`100`有点困难,幸好`Python`提供一个`range()`函数,可以生成一个整数序列,再通过`list()`函数可以转换为`list`。比如`range(5)`生成的序列是从`0`开始小于`5`的整数:`list(range(5))`
所以`range(101)`就可以生成`0-100`的整数序列,那么计算`1`到`100`的整数和代码如下:
```python
sum = 0
for x in range(101):
sum = sum + x
print(sum)
```