Python语句块,流程图,分支结构
一:语句块
语句块是指成块的代码,通常由若干行组成(也有的只有单条语句的语句块),和块外的代码处于不同的层次关系。
Python使用行首的缩进来标明语句块。Python 解释器没有限制在每一级缩进使用几个空格,只要同一个代码块中所有行的缩进距离相同即可。约定俗成的是使用 4 个空格来定义一级缩进,如果有两级缩进,那就是 8 个空格,以此类推。在严格要求的代码缩进之下,Python 代码非常整齐规范,提高了可读性,在一定程度上也提高了可维护性。
不建议使用制表符(即使用 Tab 键)来缩进。各个平台制表符缩进距离不同。如Windows 的制表符的宽度是 8,而 Linux 的制表符的宽度是 4。但现在的 IDE 和一些具有很多新特性的文本编辑器支持 py 源代码文件格式的各种特性,这包括将制表符自动地转换为 4 个空格,在这种特性的支持下,可以使用 Tab 键。
定义语句块的规律
:
1.定义语句块的语句需要以冒号结束,它表示从下一行开始需要增加一级缩进。
2.在语句块中进一步定义一个新的语句块时,就需要第二级缩进,以此类推。
3.在语句块中减少缩进量时,表示当前语句块已经结束,后续的行将回退到上一层。
二:流程图
圆角矩形表示“开始”与“结束”
菱形表示问题判断或选择环节
箭头代表工作流方向
矩形表示处理步骤
平行四边形表示输入/输出
如下图
三:分支结构
Python 用 if 语句实现分支结构
1.单条件分支结构
分支结构有两大类
第一种是最简单的 if 句型,即单条件分支:如果条件成立,做特定的处理,否则什么也不做,直接执行后续代码。
例:比较大小
a = 2;b = 3
a1 = "A大!"
b1 = "B大!"
if b > a:
print(b1)
第二种是 if…else…句型,其仍然只有单个条件,但稍微复杂一些,要求条件成立的时候做一种特定的处理,而条件不成立则要做另一种处理。
例:比较大小
a = 4;b = 3
a1 = "A大!"
b1 = "B大!"
if b > a:
print(b1)
else:
print(a1)
2.多条件分支结构
多分支结构是 if…elif 句型,其中 elif 子句可以有多个,对应多个条件,因此它是多条件分支结构。实际上 elif 就是 else if 的缩写。
例:考试成绩由百分制转换为五级制
x = float(input("请输入您的总分:"))
if x >= 90:
print('优')
elif x>=80:
print('良')
elif x >= 70:
print('中')
elif x >= 60:
print('合格')
else:
print('不合格')
3.嵌套分支结构
在一个分支结构的语句块中,继续进行新的条件判断,继而产生新的分支,这种情况称为嵌套的分支结构。
例:求三角形的面积和形状
import math
a = int(input('输入第一条边: '))
b = int(input('输入第二条边: '))
c = int(input('输入第三条边: '))
if a > b:
a, b = b, a
if a > c:
a, c = c, a
if b > c:
b, c = c, b
if a+b > c and a+c > b and b+c > a:
s = (a+b+c)/2.0
s1 = math.sqrt(s*(s-a)*(s-b)*(s-c))
print("三角形面积是:", s1)
if a == b == c:
print("等边三角形")
elif a == b or b == c or a == c:
print("等腰三角形")
elif a*a + b*b == c*c:
print("直角三角形")
else:
print("普通三角形")
else:
print("不是三角形")
四.单句多条件和短路逻辑
1.单句多条件
多条件与
if 条件1 and 条件2 and 条件3… :
多条件或
if 条件1 or 条件2 or 条件3 … :
多条件组合
if 条件1 and 条件2 or not 条件3 … :
2.短路逻辑
(敲黑板啦!)
Python 中的逻辑运算是短路逻辑,规则如下:
1)对于用运算符 and 连接的两个逻辑表达式,如果第一个条件为假,则结果一定为假,故对第二个条件表达式不做计算,直接跳过。
2)对于用运算符 or 连接的两个逻辑表达式,如果第一个条件为真,则结果一定为真,故对第二个条件表达式不做计算,直接跳过。
短路逻辑同时也体现在 if … elif 语句块中,如果 if 子句条件为真,并且每个 elif 子句条件都为真,则只执行 if 子句下的语句块。
例:给考试成绩评级
x = float( input("请输入你的成绩:"))
if x >= 90:
print('优')
elif x >= 80:
print('良')
elif x >= 70:
print('中')
输入:100
执行结果:优
5.多个 if 语句块
如果确有特殊需要,希望将所有的逻辑运算执行完毕,则可以使用多个 if 语句块,这样程序在运行时会遍历所有 if 语句(不管每个 if 后的逻辑运算是否为 True)。
x = float( input("请输入你的成绩:"))
if x >= 90:
print('优')
if x >= 80:
print('良')
if x >= 70:
print('中')
输入:100
执行结果:优 良 中
6.if 语句的三目运算
形式
格式如下
var = a if <条件> else b
c = a if a > b else b
在这行代码中,c=a 的前提条件是 a>b,如果不满足则 c=b。
简单地说,条件为真时,返回左侧的表达式,否则返回右侧的表达式。
感谢大家,点赞,收藏,关注,评论!