前课复习







第四章 程序的控制结构
4.1 程序的分支结构
4.2 实例5:身体质量指数BMI
4.3 程序的循环结构
4.4 模块3:random库的使用
4.5 实例6:圆周率的计算
1.顺序结构:

2.分支结构:

3.循环结构:

4.单元开篇
程序的控制结构:


5. 单分支结构:



只要见到if True语句,后面的语句就会被执行
6.二分支结构:
根据判断条件结果而选择不同向前路径的运行方式



<表达式1> if <条件> else <表达式2>:当if 条件成立了我们返回表达式1的信息;当条件不成立,表达式2被执行
**注意:在紧凑形式中else 所对应的输出不是语句形式而是表达式形式。**所谓的表达式是语句的一部分,简单理解为:语句是带赋值形式的语句形式。但紧凑形式只支持表达式形式。
7.多分支结构:


8.条件判断与组合:



9.程序的异常处理



把一块要执行的程序,放在try语句对应的语句块1中,如果它出现了异常,我们执行except对应的语句块2,如果不出现异常,那么我们就不执行语句块2.直接执行语句块1后,执行后续的语句。




else是对应语句块3在不发生异常时执行
单元小结

9.身体质量指数BMI问题分析








如果用户输入的是多个元素,我们建议让用户采用逗号隔开

4.3 程序的循环结构
单元开篇

遍历循环




range(M,N,K): 从M开始,不到N,到N之前的整数,并且以K为步长





经过这些例子,我们发现一个特点,for i 就是在遍历后面的组合结构中的每一个元素

一个文件可能有很多行,那么每次拿出一行,再去拿出下一行,进而产生循环


这里请同学把握一个观点:所有for in 这样可遍历的结构,只要后边的变量或者这个数据类型,它是一个由多个元素构成的数据类型,我们都可以使用for in的方式,遍历它其中的每一个元素,并且根据元素的个数形成相应的循环,这就是遍历循环。
无限循环
无限循环是由条件控制的循环运行方式,简单说它已经不再是遍历某一个结构,而是根据这个条件来进行循环,如果这个条件成立,那么下面的语句就会被执行,执行之后再次判断条件,如果条件再次成立,它就会继续执行下面的语句,然后再回来判断循环。所以条件循环或者叫无限循环是反复执行语句块,直到条件不满足的时候,那么语句块结束


循环控制保留字


如果这个字符串中出现了T,我们就不打印这个T,否则我们打印其它的所有字符出来
continue是在当次循环体执行的时候,如果遇到了continue保留字,那么当次循环就结束,去做下一次循环。continue保留字结束当次的循环

break的含义是:如果一旦遇到了break这个保留字,整个循环结束
回顾:continue结束当次的循环,然后继续遍历继续循环;而break是结束整个循环跳出之后,去执行循环之后的语句

切片表示字符串不包含最后一个字符。这里相当于把每一个字符串的最后一个字符去掉

记住:一个break 只能跳出一层循环
一个break保留字仅跳出当前的最内层循环,如果有多层循环嵌套的时候,它只跳出内层,外层循环依然有效
循环的高级用法:循环与else的搭配
for in和while来实现遍历循环和无限循环
else保留字是用来做条件判断的,但是它却可以和循环进行组合


程序正常退出了循环,没有遇到break,那么我们要奖励它再执行一块语句,这块语句用else语句块表示

单元小结:

循环else的高级用法:与break有关
random库基本介绍:


基本随机数函数


random()函数能够生成一个从0开始到1.0之间的随机小数,那么这个随机小数的产生与种子有关,比如我们用种子10,那么它产生的第一个随机小数一定是0.57这个数

种子我们只需要给一次,那么随机数就会随着每次调用产生不同的随机数。当然我们可以不给种子,我们直接调用random也可以产生随机数。如果不给种子的时候,我们记住默认的种子是当前调用第一次random函数所对应的系统时间。
那么为什么我们要给种子,就是如果你编程中给出了随机种子,那么下一次程序再次运行,只要种子相同,那么产生的随机数也是相同的。对于使用随机数的程序,我们可以复现或者再现你程序运行的过程。如果不使用随机数种子,那么它使用的是当前系统时间,而那个时间是精确到微妙的,而这个时间是我们很难再现的,所以后面产生的结果是完全随机,是我们认为不可再现的。
如果我们需要再现随机过程,那么我们就设定种子。如果说我只是用随机数,不关心程序别人复现的结果,那么我就可以不设定种子

设定种子后,如果我们再设定种子,我们发现只要我们调用了random.seed设置种子的函数,后续你调用random函数的顺序只要相同,那么产生的随机数也是相同的。那么以seed(10)为例,如果种子是10,那么产生的第一个随机数一定是0.57
扩展随机数函数

random只能产生0到1之间的小数

randrange(10,100,10):指的是从10开始不到100之间的整数中,随机选取一个以10位步长的整数

random只能产生0到1之间的小数

如果在编写python代码中,你非常有必要将几行代码放在一行中,那么代码之间要用分号来分隔

圆周率的计算实例讲解

如果写段代码,这段代码特别长,在一行中无法表达,或者表达在一行中它的编写的可读性很差,我们可以在这段
代码中增加“\”,使代码进行换行,换行之后还可以再使用“\”,再进行换行。换行之后的代码,它的功能与写在一行是
一致的。

圆周率的计算举一反三
