# 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) ```