前面我们学习了python中最基础的知识点,接下来我们学习python中的几个结构,这几个基本结构是我们编程的基础,我们共同学习!
选择结构是通过判断条件是否成立,来决定执行哪个分支。选择结构有多种形式,分为:单分支、双分支及多分支。流程如下:
1.单分支结构
if 语句单分支结构的语法形式如下:
if 条件表达式:
语句/语句块
其中:
2.双分支结构
双分支结构语法格式如下:
if 条件表达式:
语句1/语句块1
else:
语句2/语句块2
一个简单的代码:
num=input("输入一个数字:")
if int(num)<10:
print(num)
else:
print("数字太大")
3.三元条件运算符
Python提供了三元运算符,用来在某些简单双分支赋值情况。三元条件运算符语法格式如下:
条件为真时的值 if (条件表达式) else 条件为假时的值
上一个案例代码,我们也可以用三元条件运算符:
num=input("请输入一个数字:")
print(num if int(num)<10 else "数字太大")
4.多分支选择结构
多分支选择结构格式如下:
if 条件表达式1:
语句1/语句块1
elif 条件表达式2:
语句2/语句块2
·
·
·
elif 条件表达式n:
语句n/语句块n
[else:
语句n+1/语句块n+1]
[注意:在计算机行业,描述语法格式时,使用中括号[]通常表示可选,非必选]
多分支选择结构,几个分支之间是有逻辑关系的,不能随意颠倒顺序。
5.选择结构的嵌套
选择结构可以嵌套,使用时一定要注意控制好不同级别代码块的缩进量,因为缩进量决定代码的从属关系。语法格式如下:
if 表达式1:
语块1
if 表达式2:
语块2
else:
语块3
else:
if 表达式4:
语块4
如下面关于成绩等级的代码:
score=int(input("请输入一个分数"))
if score>100 or score<0:
print("请输入一个0-100的分数")
else:
if score>=90:
print("A")
elif score>=80:
print("B")
elif score>=70:
print("C")
elif score>=60:
print("D")
else:
print("E")
循环结构用来重复执行一条或多条语句。表达这样的逻辑:如果符合条件,则反复执行循环体里的语句。在每次执行完都会判断一次条件是否为Ture,如果满足,则重复执行。如图所示:
注意:循环体里的语句至少应该包含改变条件表达式的语句,以使循环趋于结束,否则就会是一个死循环
1.while循环
while循环语法格式:
while 条件表达式:
循环体语句
2.for循环
for循环通常用于可迭代对象的遍历。for循环语法格式如下:
for 变量 in 可迭代对象:
循环体语句
python包含以下几种可迭代对象:
3.嵌套循环
一个循环体内可以嵌入另一个循环,一般称为”嵌套循环“,或者”多重循环“。
4.break语句
break语句可用于while和for循环,用来结束整个循环。当有嵌套循环时,break语句只能跳出最近的循环。
5.continue语句
continue语句适用于结束本次循环,继续下一次。多重循环嵌套时,continue也是适用于最近的一次循环。
6.else语句
while、for循环可以附带一个else语句(可选)。如果for、while语句没有被break语句结束,则会执行else子句,否则不执行,语法格式如下:
while 条件表达式: for 变量 in 可迭代对象:
循环体 循环体
else: else:
语句块 语句块
三、函数
1.函数的基本概念
2.Python函数分类
3.函数的定义和调用
定义函数语法格式:
def 函数名([参数列表]):
函数体/若干语句
要点:
4.eval()函数
功能:将字符串str()当成有效的表达式来求值并返回计算结果。
语法:eval(sourcel[,globals[,locals]])->value
参数:
sourcel:一个Python表达式或函数complie()返回的代码对象
globals:可选,必须是dictionary
locals:可选,任意映射对象
5.递归函数
递归函数指的是:自己调用函数,在函数体内部直接或间接的自己调用自己。递归类似于数学中的”数学归纳法“。每个递归函数必须包括两个部分:
1.终止条件:表示递归到什么时候结束,一般用于返回值,不在调用自己。
2.递归步骤:把n-1步的值和第n步相关联。
(递归函数由于会创建大量的函数对象。过量的消耗内存和运算能力,在处理大量的数据时,谨慎使用)
本次我们认识到了选择结构和循环结构,同时还了解到函数相关知识,可以发现,这些其实不难但是如何正确的使用他们是我们在今后需要琢磨的地方,合理的使用他们可以大大的提高效率,同时会为我们提供解决问题的思路。