等考二级python-第3章-程序的控制结构
python3第三章-程序的基本结构

python3第三章-程序的基本结构1、编码默认情况下,Python 3 源码⽂件以 UTF-8 编码,所有字符串都是 unicode 字符串。
当然你也可以为源码⽂件指定不同的编码:# -*- coding: cp-1252 -*-2、标识符第⼀个字符必须是字母表中字母或下划线'_'。
标识符的其他的部分有字母、数字和下划线组成。
标识符对⼤⼩写敏感。
在Python 3中,⾮-ASCII 标识符也是允许的了。
有个不成⽂的规矩:常量⽤全部⼤写全局变量⽤两个下划线开头变量、类名等命名采⽤驼峰命名法3、python保留字保留字即关键字,我们不能把它们⽤作任何标识符名称。
Python 的标准库提供了⼀个 keyword 模块,可以输出当前版本的所有关键字:>>> import keyword>>> keyword.kwlist['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield4、注释注释(注⽰)是在代码中添加供⼈阅读的⽂本的⼀种⼿段,注释是不会被计算机执⾏的。
【编程】全国计算机等级考试二级Python真题及解析3程序填空阅读填空程序试题

【编程】全国计算机等级考试二级Python真题及解析3程序填空阅读填空程序试题一、程序填空1.为保护环境,很多城市开始对垃圾实行分类,便于更好的进行处理,为了让大家了解垃圾的分类情况,建立了以下四类列表,list1(可回收垃圾)、list2(有害垃圾)、list3(易腐垃圾),剩下的为其他垃圾,目前,列表中已经存储了以下数据。
list1=["玻璃瓶","旧书","金属","纸板箱","旧衣服","易拉罐"]list2=["胶片","消毒水","纽扣电池","水银温度计","过期药水","泡沫塑料"]list3=["动物内脏","菜叶菜梗","过期食品","香蕉皮","果壳"]根据现有列表,完成以下问题:(1)写出从列表list3中取出“过期食品”的表达式:___________________________________________________________________________ (2)写出从list1中截取["旧书","金属","纸板箱"]这一段的表达式:___________________________________________________________________________ (3)现又发现一个新的列表如下:list4=["过期化妆品","过期药品","杀虫剂"],经过判断,里面存放的为有害垃圾,如何将该列表中的元素添加到list2中,请写出相关的表达式:__________________________________________________________________________ (4)小明在路上捡到了一个塑料瓶,判断为可回收垃圾,写出相关表达式,将塑料瓶添加到列表list1中:__________________________________________________________________________ 2.程序补充:(1)有5万元资金存入银行,选择“1年定期.自动转存”的存款方式,由于银行利率是不断变化的,这5年利率分别是3.25%.3%.3%.2%.1.75%,5年后会有多少收益呢?调用round ()函数,保留结果两位小数。
第3章-2_程序的控制结构

22
#include<stdio.h> #include<math.h> void main() { float x,y; printf("please input x:\n”); scanf("%f”,&x); if(x<0) y=fabs(x); else if(x<2) y=sqrt(x+1); else if(x<4) y=pow(x+2,3); else y=2*x+5;
2012-8-11 24
switch
多路选择
switch (表达式) { case 常数1: 语句序列1; 语句序列1; case 常数2: 语句序列2; 语句序列2; ………… default: 语句序列n; 语句序列3; } default可以没有,但最好不省略 不要忘记break
25
2012-8-11
4
如何设计结构化的程序?
Top-down, Stepwise refinement 自顶向下、逐步求精 1971年,wirth提出的结构化程序设计方法 – 先全局后局部 – 先整体后细节 – 先抽象后具体
2012-8-11
5
自顶向下、逐步求精的 结构化程序设计方法
A11
有穷性 – 在合理的时间内完成 确定性,无歧义 – 如果x≥0,则输出Yes;如果x≤0,则输出No; 有效性 – 能有效执行 – 负数开平方 没有输入或有多个输入 有一个或多个输出
2012-8-11 8
算法的分类
数值运算算法: –解决求数值解问题 非数值运算算法: –需要用分析推理、逻辑推理才能解决的问题 –例如人工智能中的许多问题,查找、分类等
Python程序设计无logo版教学课件第3章程序控制结构

3.3 循环结构
循环结构解决的问题是在某一条件下,要求程序 重复执行某些语句或某个模块。
循环的实现一般包括4个部分,即初始化,条件控制, 重复的操作语句以及通过改变循环变量值最终改变条件 的真假值,使循环能正常结束。 循环条件所用表达式,可以是算术表达式、关系表达式 、逻辑表达式或最终能得到非0值或0值的其他表达式。 重复执行的语句或模块,称为循环体。
if(表达式) 语句1
else 语句2
if后面的“表达式”,通常是能产生“真”、“假”结 果的关系表达式或逻辑表达式,也允许为其他类型的数 据,如整型、浮点型、字符型等。
8
当 if 后表达式的值为 真(非 0)时,执行语句 1, 否则执行语句 2
9
3.1.2 else-if语句
else-if语句的语法格式为:
x2);
else if(a==0&&b!=0)//a为0,b不为0,无论c }
值如何,都只有一个根
}
printf("Single root: %f\n", -c/b);
return 0;
else if(a!=0)
}
{
p=b*b-4*a*c; real = -b/(2*a);
运行结果: 421↓
imag = sqrt(fabs(p))/(2*a); if(p==0)//b*b-4*a*c==0,有两个相同解,一 个实数根
#include <stdio.h> int main() { float v1,v2; char op; printf("Please type your expression: "); scanf("%f %c %f", &v1, &op, &v2); switch(op) { case '+': printf("%f+%f=%f\n", v1, v2, v1+v2); break; case '-': printf("%f-%f=%f\n", v1, v2, v1-v2); break; case '*': printf("%f*%f=%f\n", v1, v2, v1*v2); break; case '/': if(v2==0) printf("division by zero!\n"); else printf("%f/%f=%f\n", v1, v2, v1/v2); break; default: printf("unknown operator.\n"); } return 0; }
python程序的三种控制结构

python程序的三种控制结构程序的三种控制结构什么是控制结构?"""程序有三种基本结构组成:顺序结构、分⽀结构、循环结构。
任何程序都是由这三种基本结构组成。
顺序结构是程序按照线性顺序依次执⾏的⼀种运⾏⽅式。
分⽀结构是程序根据条件判断结果⽽选择不同向前执⾏路径的⼀种运⾏⽅式。
循环结构是程序根据条件判断结果向后执⾏的⼀种运⾏⽅式。
"""程序的分⽀结构单分⽀结构:if"""python中分⽀结构使⽤if保留字对条件进⾏判断,使⽤⽅法:if <条件>:<语句块>其中,if、:、<语句块>、前的缩进都是语法的⼀部分例如:判断⼀个数字的⼤⼩a = 1b = 2if a < b:print("True")<条件>可以是⼀个或者多个条件,多个条件间采⽤and或or进⾏逻辑组合。
and表⽰多个条件“与”的关系,or表⽰多个条件“或”的关系。
例如:判断⽤户输⼊数字的特性a = eval(input("请输⼊⼀个数字:"))if a % 3 == 0 and a% 5 == 0:print("这个数字既能被3整除,也可以被5整除")print("输⼊的数字是:",s)请输⼊⼀个数字: 10输⼊的数字是: 10请输⼊⼀个数字:15这个数字既能被3整除,也可以被5整除输⼊的数字是: 15"""⼆分⽀结构:if-else"""python的⼆分⽀结构使⽤if-else保留字对条件进⾏判断,语法格式如下:if <条件>:<语句块1>else:<语句块2><语句块1>在if<条件>中满⾜即为True时执⾏,<语句块2>在if<条件>中不满⾜即为False时执⾏,简单来说,⼆分⽀结构根据条件True或False结果产⽣两条路径。
python3小白教程(二)控制结构

python3小白教程(二)控制结构展开全文极客饕餮 2018-08-30 13:08:21一布尔与比较两个布尔值:True和False.注意其他形式的true或false都不对.== 等于!=不等于可以使用大于和小于运算符来按字母顺序比较字符串二 if语句if 表达:代码python使用缩进(一行的开始处的空白)来分隔代码块其他语言使用大括号来实现这一点,但是在python中必须使用缩进# -*- coding:UTF-8 -*-if 10>5:print("10大于5")print("程序结束")三 else语句else语句跟随在if语句后,当if语句的计算结果为False时,执行else代码块.和if语句一样,块内的代码应该缩进.elif语句elif(else if的简写)语句是if和else语句使用的快捷方式一系列if elif语句可以有一个最终的else语句,如果if或者elif条件均不成立时 ,会调用else代码块.例如:num=7if num==5:print("Numeber is 5")elif num==11:print("Number is 11")elif num==7:print("Number is 7")print("Number isn't 5,7,11'")结果:Number is 7在其他的编程语言中,elif语句有不同的名称,包括else if,elseif或elsif.四逻辑运算符and 与两个条件都为True时,结果为Trueor 或两个条件有一个条件为True,结果为Truenot 非相反的结果python的布尔运算符使用单词,而大多数语言使用符号(&&,||,!) 五运算符优先级python的操作顺序与正常数学的顺序相同,先是括号,然后取幂,然后乘除,然后加减.运算符描述(优先级高的在上)** 指数(最高优先级)~ + - 按位翻转,正负号* / % // 乘除求余取商+ - 加减>> << 右移,左移运算符& 位"AND"^ | 位运算符<= < > >= 比较运算符== != 等于运算符= %= /= **= 赋值运算符is is not 身份运算符in not in 成员运算符not or and 逻辑运算符六 while运算符while i<=5:print(i)i=i+1print("Finished")while循环体中的代码被重复执行,这被称为迭代.要提前结束while循环,可以使用break语句在循环外部使用break语句,会导致错误.continue语句是提前结束本次循环,进入下次循环迭代.相似循环外部使用continue语句,会导致错误.七列表列表时python中的另一种类型的对象,他们被用来存储索引的元素列表.方括号中用逗号分隔元素来创建一个列表.列表中的元素可以通过使用方括号中的索引来访问例如:words=["hello","world","!"]print(words[0])print(words[1])print(words[2])一个空的列表用一对空的方括号创建.empty_list=[]print(empty_list)结果:[]大多数情况下,列表中的最后一项不会带逗号.然而,在某些情况下是鼓励在末尾添加逗号的.列表通常情况下包含单种数据类型的元素,但也可以包含不同类型的数据元素.列表也可以嵌套在其他列表中.number=3things=["string",1,[1,2,number],3.45]引用超出列表值的索引范围将导致indexerror错误.八列表操作列表中某个索引处的元素可以被重新分配.例如:nums=[7,7,7,7,7]nums[2]=5print(nums)结果:[7,7,5,7,7]列表可以像字符串一样添加和相乘例如:nums=[1,2,3]print(nums+[4,5,6])print(nums*3)列表和字符串在很多方面很相似. 字符串可以被认为是不能改变的字符列表.要检查项目是否在列表中,可以使用in运算符.如果项目在列表中出现一次或多次,则返回True,否则返回False.words=["spam","egg","spam","sausage"]print("spam" in words)print("egg" in words)print("tomato" in words)结果:TrueTrueFalsein运算符也可以用来确定一个字符串是否是另一个字符串的子字符串.not in运算符用来检查项目不在列表中.nums=[1,2,3]print(not 4 in nums)print(4 not in nums)结果:TrueTrue九列表函数使用append(附加)方法将一个元素添加到现有列表的末尾.nums=[1,2,3]nums.append(4)print(nums)结果:[1,2,3,4]append是列表类的一个方法.要获取列表中的项目数量,可以使用len函数.nums=[1,2,3,4,5]print(len(nums))结果:5与append方法不同.len是一个函数,不是一个方法,这意味着它写在被调用的列表之前.insert方法(在索引前插入)与append相似,不同之处在于它允许你在列表中的任何位置插入一个新元素,而不仅仅是在最后.words=["did i say","much"]index=1words.insert(index,"too")print(words)结果:["did i say","too","much"]index方法找到列表项的第一个匹配项并返回它的索引.如果该项目不在列表中,则会引发valueerrorletters=["p","q","r","s","p","u"]print(letters.index("r"))print(letters.index("p"))print(letters.index("z"))结果:2ValueError:"z" is not in list列表还有一些很有用的功能和方法.max(list):返回列表中的最大值.min(list):返回列表中的最小值.list.count(obj):返回一个元素在列表中出现的次数list.remove(obj):从列表中删除一个元素list.reverse():颠倒列表中的元素.十范围(range)使用范围函数创建一个顺序的数字列表.numbers=list(range(10))print(numbers)结果:range本身会创建一个range对象,所以调用list函数将其转换为列表.如果使用一个参数调用range,则会生成0到该参数值之前的对象.如果使用两个参数调用范围,则会从第一个值到第二个值之前的对象.例如:numbers=list(range(3,8))print(numbers)print(range(20)==range(0,20))range可以有第三个参数,它决定了产生的序列的间隔.第三个参数必须是一个整数(浮点数形式的整数也不行).numbers=list(range(5,20,2))print(numbers)结果:十一 for循环有时,你需要在列表中的每个项目上执行代码.被称为迭代.它可以用一个while循环和一个计数器变量来完成.例如:words=["hello","world","spam","eggs"]counter=0max_index=len(words)-1while counter<=max_index:word=words[counter]print(word+"!")counter+=1结果:hello!world!spam!eggs!for循环使用while循环遍历列表需要相当多的代码,所以python提供了for循环来完成相同的事情.words=["hello","worlds","spam","eggs"]for word in words:print(word+"!")注意:这里的word,用随便一个变量代替都可以.python中的for循环就像其他语言的foreach循环一样.for循环通常用于重复某些代码一定次数.这通过将循环与范围range对象结合来完成.for i in range(5):print("●姚贝娜")结果:在for循环中使用range对象时,不需要调用list,因为它没有被索引.所以不需要列表.。
python程序的控制结构

pss语句可以用于在编写程序时,暂时跳过某些代码块,以便于后续修改和补充。
pss语句还可以用于在循环、条件语句等控制结构中,表示当条件不满足时,跳过某些操作。
异常处理结构
异常类型:Python中常见的异常类型包括SyntxError、NmeError、TypeError等异常处理方法:try-except-finlly语句异常处理示例: ```python try: = 1 / 0 except ZeroDivisionError: print("除数不能为零") finlly: print("异常处理结束") ``````pythontry: = 1 / 0except ZeroDivisionError:print("除数不能为零")finlly:print("异常处理结束")```异常处理的优点:提高程序的健壮性和容错能力,使程序在遇到异常情况时能够正常运行。
优化方法:减少计算量、提高效率、减少内存占用等
示例:二分查找、动态规划、贪心算法等
游戏开发中的流程控制
游戏循环:控制游戏主循环,处理游戏逻辑和渲染
场景切换:根据游戏进度切换不同的场景
角色控制:控制角色移动、攻击、跳跃等行为
任务系统:控制任务进度,引导玩家进行游戏
THNK YOU
汇报人:XX
选择结构
if语句:用于根据条件执行代码块
elif语句:用于在多个分支中进行选择
else语句:用于在if和elif都不满足时执行代码块
switch语句:用于在多个分支中进行选择,类似于C语言中的switch语句
循环结构
for循环:用于遍历序列或集合
while循环:当条件满足时,重复执行代码块
Python程序设计第3章+程序控制结构

3.1 程序的基本结构
图3-1 流程图的7种基本元素
3.2 顺序结构
顺序结构是程序的基础,是程序设计中最简单的,只要按照解决问题的 顺序写出相应的语句就可以。它的执行从上而下,依次执行,如图3-2所示。
图3-2 顺序结构的流程图
【例3.1】计算军犬速度
军犬的耐力是非常有名的。有关资料 显示,第一次世界大战期间为传达命令, 一只军犬50分钟跑完了21.7km的路程。算 一算,这只军犬平均每分跑多少米?
3.5 实例:控制结构灵活运用
3.5.2 猜数字游戏
【例3.7】编写猜数字游戏程序。
#猜数字游戏 import random x=random.randint(1,10) for i in range(1,4):
m=eval(input("请输入一个整数:")) if x == m:
print("恭喜,猜对了,一共猜了{}次".format(i)) break elif m<x: print("猜小了") else: print("猜大了") if i == 3: print("游戏结束")
根据会员情况,输出最后应付的金额。
#不同消费者买单3 #会员编号(2:金卡会员,1:普通会员,其他:非会员) #不同的会员消费者买单 consume=eval(input(“请输入消费额:”)) flag=int(input(“请输入会员编号:”)) if flag == 2:
consume *= 0.9 elif flag ==1:
consume *= 0.95 else:
consume *= 0.99 print("用户应付费: {:.2f}".format(consume))
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序的分支结构
单分支结构: if语句
Python的单分支结构使用if保留字对条件进行 判断,使用方式如下
if <条件>: 语句块
其中,if、:和<语句块>前的缩进都是语法的一 部分。<语句块>是if条件满足后执行的一个或 多个语句序列,缩进表达<语句块>与if的包含 关系。<条件>是一个产生True或False结果的语 句,当结果为True时,执行<语句块>,否则跳 过<语句块>。
全国计算机等级考试二级教程
Python语言程序设计 (2018年版)
【第3章】 程序的控制结构
考纲考点
程序的三种控制结构 程序的分支结构: 单分支结构、二分支结构、多
分支结构 程序的循环结构: 遍ห้องสมุดไป่ตู้循环、无限循环、break和
continue循环控制 程序的异常处理: try-except
1 2 3 4
# 判断用户输入数字的某个属性 s = eval(input("请输出一个整数:"))
if s % 3 == 0 and s % 5 == 0: print("这个数字能够同时被3和5整除")
else:
5 print("这个数字不能够同时被3和5整除")
二分支结构: if-else语句
知识导图
程序的基本结构
程序的流程图
程序流程图用一系列图形、流程线和文字说明描 述程序的基本操作和控制流程,它是程序分析和 过程描述的最基本方式。
流程图的基本元素包括7种
程序的流程图
起止框:表示程序逻辑的开始或结束; 判断框:表示一个判断条件,并根据判断结果选择不同的
执行路径; 处理框:表示一组处理过程,对应于顺序执行的程序逻辑; 输入输出框:表示程序中的数据输入或结果输出; 注释框:表示程序的注释; 流向线:表示程序的控制流,以带箭头直线或曲线表达程
1 # 判断用户输入数字的特定 2 s = eval(input("请输出一个整数:"))
3 if s % 3 == 0 and s % 5 == 0:
4
print("这个数字既能被3整除,又能被5整除")
5 print("输入数字是:", s)
二分支结构: if-else语句
Python的二分支结构使用if-else保留字对条件 进行判断,语法格式如下:
if <条件>: <语句块1>
else: <语句块2>
其中,if、:和语句块前的缩进都是语法的一部 分。
二分支结构: if-else语句
<语句块1>在if中<条件>满足即为True时执行, <语句块2>在if中<条件>不满足即为False时执 行。简单说,二分支结构根据条件的True或 False结果产生两条路径。
程序都由这三种基本结构组合而成
程序的基本结构
顺序结构是程序按照线性顺序依次执行的一种运行 方式,其中语句块1S1和语句块S2表示一个或一组 顺序执行的语句
程序的基本结构
分支结构是程序根据条件判断结果而选择不同向前 执行路径的一种运行方式,基础的分支结构是二分 支结构。由二分支结构会组合形成多分支结构
利用多分支结构编写代码时要注意多个逻辑条件的 先后关系。
多分支结构: if-elif-else语句
获取用户输入的一个百分制成绩,转换成五分制,给
出对应的A、B、C、D、E等级。
1 # 将百分制成绩转换为五分制成绩 2 score = eval(input("请输出一个百分制成绩:"))
3 if score >= 60.0:
程序的基本结构
循环结构是程序根据条件判断结果向后反复执 行的一种运行方式,根据循环体触发条件不同, 包括条件循环和遍历循环结构
程序的基本结构
在三种基本控制逻辑基础上,Python语言进行 了必要且适当的扩展。
在分支结构原理的基础上,Python增加了异常 处理,使用try-except保留字
多分支结构: if-elif-else语句
Python的if-elif-else描述多分支结构,语句格式 如下:
if <条件1>: <语句块1>
elif <条件2>: <语句块2>
... else:
<语句块N>
多分支结构: if-elif-else语句
多分支结构通常用于判断同一个条件或一类条件的 多个执行路径。要注意,Python会按照多分支结构 的代码顺序依次评估判断条件,寻找并执行第一个 结果为True条件对应的语句块,当前语句块执行后 跳过整个if-elif-else结构。
二分支结构还有一种更简洁的表达方式,适合< 语句块1>和<语句块2>都只包含简单表达式的情 况,语法格式如下:
<表达式1> if <条件> else <表达式2>
1 # 判断用户输入数字的某个属性 2 s = eval(input("请输出一个整数:")) 3 token = "" if s % 3 == 0 and s % 5 == 0 else "不" 4 print("这个数字{}能够同时被3和5整除".format(token))
单分支结构: if语句
1 # 判断用户输入数字的奇偶性
2 s = eval(input("请输出一个整数:"))
3 if s % 2 == 0:
4
print("这是个偶数")
5 print("输入数字是:", s)
<条件>是一个或多个条件,多个条件间采用and或or进 行逻辑组合。and表示多个条件“与”的关系,or表示 多个条件“或”的关系
异常处理以程序异常为判断条件,根据一段代 码执行的正确性进行程序逻辑选择。异常处理 是分支结构的一种扩展。
程序的基本结构
在循环结构原理的基础上,Python提供两个循 环控制符break和continue,对循环的执行过程 进行控制。break控制符用来结束当前循环, continue控制符用来结束当前循环的当次循环 过程,
序的执行路径;
连接点:表示多个流程图的连接方式,常用于将多个较小 流程图组织成较大流程图。
程序的流程图
程序流程图示例:由连接点A连接的一个程序
程序的基本结构
程序由三种基本结构组成:顺序结构、分支结 构和循环结构。
任何程序都由这三种基本结构组合而成 这些基本结构都有一个入口和一个出口。任何