Python3控制结构
【课程11】自动计算过程
计算机之父冯诺依曼:20世纪最重要的数学家之一,现代计算机、博弈论、核武器和生化武器等领域的科学全才。设计制造第一台电子计算机时提出了“冯·诺依曼结构”。
冯诺依曼结构计算机:计算机硬件五大部件:(1)运算器:进行算术和逻辑运算。(2)控制器:控制计算机持续协调运行。(3)存储器:存储数据和程序。(4)输入设备:从计算机外部获取数据。(5)输出设备:将计算结果反馈给外界。
计算机内部运行过程基本步骤:(1)控制器从存储器中取出程序语句和额外数据;(2)数据齐全的语句交给运算器进行算术或者逻辑运算;(3)运算结果再存回存储器;(4)控制器确定下一条程序语句,回到步骤1继续。
基本计算语句:一个程序的很多语句,在存储器中的排列,就像在火车站买票一样排成一个队列。例:赋值语句: = 。Python语言的赋值语句很好地对应了“运算”和“存储”。赋值语句的执行语义为:计算表达式的值,存储起来,贴上变量标签以便将来引用。与计算机运行过程中的“计算”和“存储”相对应“控制器确定下一条程序语句”即对应“控制”。
【课程12】控制流程
控制流程:在计算机运行过程中,“下一条语句”决定了计算机是能够自动调整、自动反复操作,还是只能像计算器那样一步接着一步计算,这种决定“下一条语句”的机制,在程序设计语言中称作“控制流程”。
三种结构:几乎所有的程序设计语言都提供了三种控制流程:(1)顺序结构:按照语句队列前后顺序来确定下一条将要执行的语句。(2)条件分支结构:根据当前情况来选择下一条语句的位置。(3)循环结构:周而复始地执行一系列语句。
计算的“容器”:简单类型和容器类型之间的关系,就像玻璃珠与盒子、苹果与口袋。简单类型是实体对象。容器类型是结构,将实体对象进行各种组织和编排。就像简单类型和容器类型之间的关系,用顺序、条件分支和循环结构,来对各个赋值语句进行编排,最终成为解决问题的程序。
【课程13】控制流:条件分支语句(if)
条件分支:条件分支让程序有了判断力。根据计算机内部情况(如变量值),来决定下一步做什么,这样的控制流程,就称为条件分支。根据预设条件来控制下一步该运行哪段语句。
条件分支的要素:1.基本要素(1)预设的判断条件(2)达成条件后执行的语句。2.扩展要素(1)当条件不满足时执行的语句(2)多条件时哪个满足执行哪个的条件。
Python中条件分支语句:if-else
if :
……
else:
if和else都是“保留字”。“逻辑表达式”是指所有运算的结果为逻辑类型(True或False)的表达式。“语句块”就是条件满足后执行的一组语句。冒号表示语句层次。语句块缩进。
各种类型中某些值会自动被转换为False:None, 0, 0.0, '', [], (), {}, set()。其它值则是True。
多种情况的条件分支:(1)使用多条if语句进行判定:有时需区分多种情况,对应每种情况执行相应的语句。if…if…if…(2)使用else子句进行判定。if…else…if…else…(3)使用elif语句进行判定:if-elif-else
if :
elif :
elif :
…
else:
python中没有switch语句。
【课程14】控制流:条件循环(while)
循环结构:让计算机执行冗长单调的重复性任务。根据需要对一系列操作进行设定次数或者设定条件的重复,这样的控制流程,就称作循环结构。作用:能持续对大量数据进行处理,在长时间里对一些未知状况进行连续监测循环结构。
循环结构的要素:1.基本要素:循环前提和执行语句。在执行这组语句之前,计算机会检查循环前提是否存在,只要存在,就会反复执行这组语句,直到循环前提消失。2.扩展要素:当循环前提消失,停止执行这组语句的时候,执行一次另一组语句。
循环前提:从某个容器或者潜在的数据集中逐一获取数据项,什么时候取不到数据项了,循环的前提就消失。只要逻辑表达式计算结果为真(True),循环的前提就存在,什么时候逻辑表达式计算结果为假(False),循环的前提就消失了。与条件分支结构的区别:循环结构会多次检查循环前提。
条件循环:while-else
while :
break #跳出循环
continue #略过余下循环语句
else: #条件不满足退出循环,则执行
while、else:保留字。逻辑表达式:指所有运算的结果为逻辑类型(True或False)的表达式。语句块:一组语句。
嵌套循环:双重甚至多重的循环。
中断程序运行:CTRL+C。
【课程15】控制流:迭代循环(for)
迭代循环:for-in-else
for in :
break #跳出循环
continue #略过余下循环语句
else: #迭代完毕,则执行
for、in和else都是“保留字”。可迭代对象表示从这个数据对象中可以逐个取出数据项赋值给“循环变量”。可迭代对象有很多类型,如字符串、列表、元组、字典、集合、生成器、迭代器等。
range函数:range构建的数列,包含起点整数,而不包含终点整数。
range():返回一个从开始到终点的数列。
range(,):从以外的任何整数开始构建数列。
range(,,):修改数列的步长。将步长设置为负数能够实现反向数列。
range类型的对象:(1)直接当做序列。(2)转换为list或者tuple等容器类型。
跳出break语句和继续continue语句:都只能在循环内部使用,均作用于离它们最近的一层循环。break是跳出当前循环并结束本层循环。continue是略过余下循环语句并接着下一次循环。
领取专属 10元无门槛券
私享最新 技术干货