Python语句块,流程图,分支结构

简介: 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。

简单地说,条件为真时,返回左侧的表达式,否则返回右侧的表达式。

感谢大家,点赞,收藏,关注,评论!

目录
相关文章
C4.
|
19小时前
|
Python
Python中的选择结构
Python中的选择结构
C4.
20 1
|
19小时前
|
Python
Python分支结构双分支讲解
Python分支结构双分支讲解
106 0
|
19小时前
|
Python
Python分支结构多分支讲解
Python分支结构多分支讲解
52 0
|
19小时前
|
Python
Python分支结构单分支讲解
Python分支结构单分支讲解
48 0
|
18小时前
|
Python
python学习3-选择结构、bool值、pass语句
python学习3-选择结构、bool值、pass语句
|
18小时前
|
Python
Python学习之路 02 之分支结构
Python学习之路 02 之分支结构
457 0
Python学习之路 02 之分支结构
|
18小时前
|
存储 Python
Python的结构
【4月更文挑战第15天】Python的结构
21 4
|
18小时前
|
Python
Python控制结构学习应用案例详解
Python控制结构包含条件语句、循环语句和异常处理。条件语句用if-elif-else判断数字正负;for循环示例输出1到10的整数,while循环计算1到10的和;异常处理用try-except-finally处理除零错误,打印提示信息并结束。
16 3
|
19小时前
|
Python
GNU Radio创建Zadoff-Chu序列python OOT块
GNU Radio创建Zadoff-Chu序列python OOT块
26 0
|
19小时前
|
Java C++ Python
Python分支结构内联if讲解
Python分支结构内联if讲解
17 0