备考计算机二级Python之Day4

一、程序的三种控制结构

1、程序流程图

流程图包括7种基本元素。

起止框:表示程序逻辑的开始或结束

判断框:表示一个判断条件,并根据判断结果选择不同的执行路径

处理框:表示一组处理过程,对应于顺序执行的程序逻辑

输入/输出框:表示程序中的数据输入或结果输出

注释框:表示程序的注释

流向线:表示程序的控制流,以带箭头直线或曲线表达程序的执行路径

连接点:表示多个流程图的连接方式,常用于将多个较小流程图组织成较大流程图

描述一个计算问题的程序过程有多种方式,包括IPO、流程图、伪代码或程序代码。其中,流程图采用图形方式最为直观。

2、程序控制结构基础

程序由三种基本结构组成:顺序、分支和循环结构。

顺序结构:是程序按照线性顺序依次执行的一种运行方式

分支结构:是程序根据条件判断结果而选择不同向前执行路径的一种运行方式。最基础的分支结构是二分支结构,即判断条件产生“是”或“否”的结果,并根据这个结构选择不同路径。二分支结构会组合形成多分支结构。

循环结构:是程序根据条件判断结果向后执行的一种运行方式,其中,向后执行表示向已执行过的代码方向执行。

任何编程语言都提供3种基本的控制逻辑,并进行适当的扩展。

提示:分支和循环

分支结构是根据条件结果向程序运行前方跳转的结构,循环结构是根据条件向程序运行后方跳转的结构。

3、程序控制结构扩展

在3种基本控制逻辑基础上,Python语言进行了必要且适当的扩展。

在分支结构原理的基础上,Python增加了异常处理,使用try-except保留字。

异常处理以程序是否异常为判断条件,根据一段代码执行的正确性进行程序逻辑选择。异常处理是分支结构的一种扩展。

在循环结构原理的基础上,Python提供两个循环控制符break和continue,对循环的执行过程进行控制。break控制符用来结束当前循环,continue控制符用来结束当前循环的当次循环过程。

二、程序的分支结构

1、单分支结构:if

Python的单分支结构使用if保留字对条件进行判断,使用方法如下:

if    <条件>:
      <语句块>
    

 其中,if、:和<语句块>前的缩进都是语法的一部分。

<语句块>是if条件满足后执行的一个或多个语句序列,缩进表达<语句块>与if的包含关系。<条件>是一个产生True或False结果的语句,当结果为True时,执行<语句块>,否则跳过<语句块>。

以下程序用来判断输入数字的奇偶性,可结合模运算与分支结构来实现。

#判断用户输入数字的奇偶性
s=eval(input("请输入一个整数:"))
if s%2==0:
    print("这是个偶数")
print("输入数字是:",s)
请输入一个整数:0
这是个偶数
输入数字是: 0


请输入一个整数:123
输入数字是: 123

<条件>是一个或多个条件组合,以逻辑运算结果为主,多个条件采用and或or进行逻辑组合。

以下程序用来判断输入数字的特性,比如能否被3或5整除。示例如下。

#判断用户输入数字的特性
s=eval(input("请输入一个整数:"))
if s%3==0 and s%5==0:
    print("这个数字既能被3整除,又能被5整除")
print("输入数字是:",s)
请输入一个整数:123
输入数字是: 123


请输入一个整数:150
这个数字既能被3整除,又能被5整除
输入数字是: 150

2、二分支结构:if-else

Python的二分支结构使用if-else保留字对条件进行判断,语法格式如下:

if    <条件>:
      <语句块1>
else:
      <语句块2>

 其中,if、else、:和<语句块>前的缩进都是语法的一部分。

<语句块1>在if中<条件>满足即为True时执行,<语句块2>在if中<条件>不满足即为False时执行。简单说,二分支结构根据条件的True或False结果产生两条路径。下面是一个二分支结构的程序示例。

#判断用户输入数字的某个属性
s=eval(input("请输入一个整数:"))
if s%3==0 and s%5==0:
    print("这个数字能够同时被3和5整除")
else:
    print("这个数字不能够同时被3和5整除")

二分支结构还有一种更紧凑的表达方式,适合<语句块1>和<语句块2>都只包含简单表达式的情况,语法格式如下:

<表达式1>  if  <条件>  else  <表达式2>

仍然是判断输入数字特性能否被3或5整除的程序,采用二分式紧凑格式编写,示例如下。

注意:对于紧凑表达方式,要使用表达式而不是语句。

 

#判断用户输入数字的某个属性
s=eval(input("请输入一个整数:"))
token="" if s%3==0 and s%5==0 else "不" 
print("输入数字{}能够同时被3和5整除".format(token))

提示:表达式和语句

表达式是产生或计算新数据值的代码片段,它并不是完整语句。例如,99+1是表达式,a=99+1则是语句。

3、多分支结构:if-elif-else

Python的多分支结构使用if-elif-else保留字对多个相关条件进行判断,并根据不同条件的结果按照顺序选择执行路径,语法格式如下:

if <条件1>:
    <语句块1>
elif<条件2>:
    <语句块2>
...
else:
    <语句块N>

多分支结构通常用于判断同一个条件或一类条件的多个执行路径。要注意,Python会按照多分支结构的代码顺序依次评估判断条件,寻找并执行第一个结果为True条件对应的语句块,当前语句块执行后跳过整个if-elif-else结构。如果没有任何条件成立,else下面的语句块被执行。else子句是可选的。

利用多分支结构编写代码时要注意多个逻辑条件的先后关系。

获取用户输入的一个百分制成绩,给出对应的A、B、C、D、E等级。请阅读如下代码,观察代码运行结果。

 

#将百分制成绩转换为五分制成绩
score=eval(input("请输入一个百分制成绩:"))
if score>=60.0:
    grade="D"
elif score>=70.0:
    grade="C"
elif score>=80.0:
    grade="B"
elif score>=90.0:
    grade="A"
else:
    grade="E"
print("对应的五分制成绩是{}".format(grade))
请输入一个百分制成绩:78
对应的五分制成绩是D

 上述代码运行正确但逻辑错误,弄错了多个逻辑条件的先后关系,修改后代码如下:

#将百分制成绩转换为五分制成绩
score=eval(input("请输入一个百分制成绩:"))
if score>=90.0:
    grade="A"
elif score>=80.0:
    grade="B"
elif score>=70.0:
    grade="C"
elif score>=60.0:
    grade="D"
else:
    grade="E"
print("对应的五分制成绩是{}".format(grade))
请输入一个百分制成绩:78
对应的五分制成绩是C

注意:带有多分支结构的程序能够运行但不一定正确运行,要仔细检查判断条件,注意多个逻辑条件的先后关系。 

4、判断条件及组合

分支结构中判断条件可以使用任何能够产生True或False的表达式或函数。形成判断条件最常见的方式是采用比较操作符。

操作符

含义

<小于
<=小于等于
>=大于等于
>大于
==等于
!=不等于

比较运算符适用于数值、字符串、列表等多种类型。此外,任何非零的数值、非空的数据类型都等价于True,0或空类型等价于False,可以直接用作判断条件。

4<5
True
"Python">"python"
False
0==False
True
""==True
False

Python语言使用保留字not、and和or对条件进行逻辑运算或组合。多条件之间可以通过小括号进行组合,实现条件之间的运算。

not True
False

a=80
(a>80) or (a>50 and a<90)
True

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值