版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程序的控制结构程序控制流程——下一条语句?顺序结构选择结构循环结构BABACBADC程序的基本结构程序由三种基本结构组成:顺序结构分支结构循环结构设计好算法,充分利用三种程序的结构,编写出解决问题的程序。程序流程图用一系列图形、流程线和文字说明描述程序的基本操作和控制流程,它是程序分析和过程描述的最基本方式。传统流程图基本符号三种基本结构:顺序结构起止框I/O框判断框处理框流程线连接点语句A语句B传统流程图选择结构(分支结构)条件语句1语句2YN(a)条件语句1YN(b)传统流程图循环结构条件YN语句组程序的分支结构(选择结构)例子:两个数比较大小判断是否是闰年判断密码的正确与否注意判断条件的确立(结论是True或False)关系运算符:<<=>=>==!=注意:Python中:0<=x<=10可以表示数学中的:0≤x≤10逻辑运算:andornot条件语句1语句2YN单分支结构:if语句语法格式:
if<条件>:
语句块例:输入任意两个整数,比较后,大的数为a,小数的数为b,再输出。解题思路:输入a,b如果a<b的话,交换a,b打印a,b注意冒号的使用缩进代表层次关系二分支结构:if-else语句语法格式:
if<条件>:
<语句块1>
else:
<语句块2>例:猜数字游戏,固定一个数字,范围1~10之间,让用户猜,根据用户输入,给出游戏结果。注意冒号和缩进条件表达式语法格式如下:
<表达式1>if<条件>else<表达式2>如:"对"ifb==aelse"错"ifb==a:print('***你猜对啦***')else:print('***你猜错啦***')print(f"***你猜{'对'ifb==aelse'错'}啦***")多分支结构:if-elif-else语句语法格式:
if<条件1>:
<语句块1>
elif<条件2>:
<语句块2>
...
else:
<语句块N>注意:适用于一个问题的多种情况出现多个判断条件区别两个递进问题的判断
实例:温度转换输入摄氏温度,输出对应的华氏温度:分析:(IPO程序设计方法)Input:输入摄氏温度
c=eval(input("输入摄氏温度:"))Process:计算对应的华氏温度
f=c*1.8+32Output:输出计算的结果
print("f"华氏温度是{f:.2f}")实例:温度转换问题:如何实现摄氏温度和华氏温度的相互转换?——如果用户输入的是摄氏温度,输出华氏温度;如果输入是华氏温度,输出摄氏温度。(选择结构)如何判断用户输入的是摄氏温度还是华氏温度?——输入格式和输出格式的确定程序编写的基本方法步骤1:分析问题:采用公式转换方式解决计算问题步骤2:确定功能输入:华氏或摄氏温度值、温度标识
(82F表示华氏82度,28C表示摄氏28度)处理:温度转化算法输出:华氏或摄氏温度值、温度标识步骤3:设计算法C=(F–32)/1.8F=C*1.8+32例:已知百分制成绩x,显示对应的五级制成绩,下列哪些正确。ifx>=90:y="A"elifx>=80:y="B"elifx>=70:y="C"elifx>=60:y="D"else:y="E"ifx>=60:y="D"elifx>=70:y="C"elifx>=80:y="B"elifx>=90:y="A"else:y="E"ifx<60:y="E"elifx<70:y="D"elifx<80:y="C"elifx<90:y="B"else:y="A"循环结构让计算机完成一些重复性的任务构成循环:(1)循环条件(2)循环体循环条件的类型:(1)用于判断的表达式——TrueorFalse
(while语句)(2)从数据集中逐一获取其中的单个数据项
(for语句)BAD循环条件循环体for语句语法格式for<循环变量>in<遍历结构>:
<语句块>例:打印单词中字母对应的大写字母。foriin'hello':print(f'{i}---{i.upper()}')h---He---El---Ll---Lo---O运行结果range()字符串列表文件…range函数用于产生指定的整数序列格式:range(<终值>)产生:区间为[0,<终值>)的整数序列。格式:range(<初值>,<终值>)产生:区间为[<初值>,终值>)的整数序列。格式:range(<初值>,<终值>,<步长>)产生:区间为[<初值>,终值>)的每几个取一个的整数序列。——range(5)——range(10,100)——range(10,100,2)——range(98,9,-2)求平均成绩例:使用Turtle库实例
斐波纳契数列:1
1
2
3
5
8
13
21
34
……+=穷举法把所有的情况列举一遍,把符合条件的情况挑选出来。水仙花数(各位数字的立方和等于它本身的三位数):foriinrange(100,1000):a=i//100b=i//10%10c=i%10ifi==a**3+b**3+c**3:print(i)把所有的三位数列举一遍把符合条件的情况打印出来程序结构的嵌套选择结构的分支中可以嵌套:另一个选择结构或另一个循环结构循环结构的循环体中可以额嵌套另一个循环结构或另一个选择结构注意:书写时的缩进,Python中使用缩进来代表层次结构搬砖问题:男人一次搬3块砖,女人一次搬2块砖,小孩两人搬1块砖,n人搬n块砖。又一个水仙花数while语句单分支选择结构:
if<条件>:
<语句块>语法格式:
while<条件>:
<语句块>条件表达式(布尔型)条件只计算判断一次,根据结果决定是否执行语句块。计算并判断条件为True,执行循环体。反复操作,直到判断条件为false,退出循环。例:输入5个同学的成绩,计算他们的平均成绩,并打印出来。n=1s=0whilen<=5:x=float(input(f'请输入第{n}个同学的成绩:'))s=s+xn=n+1print(f'平均成绩是{s/5:.1f}')循环条件循环体while语句whileTrue:
<语句块>
if<条件>:
break
<语句块>语法格式:
while<条件>:
<语句块>退出循环的条件循环执行的条件例:输入若干个同学的成绩,以-1结束。计算他们的平均成绩,并打印出来。n=0s=0whileTrue:x=float(input(f'请输入第{n+1}个同学的成绩:'))ifx==-1:breaks=s+xn=n+1ifn>0:print(f'平均成绩是{s/n:.1f}')循环条件退出循环的条件修改猜数游戏break语句whileTrue:
<语句块>
if<条件>:
break
<语句块>——跳出当前的循环while<循环条件>:
<语句块>
if<退出条件>:
break
<语句块>else:
<语句块>for<循环变量>in<遍历结构>
<语句块>
if<退出条件>:
break
<语句块>else:
<语句块>修改猜数游戏判断一个数是不是素数continue语句foriin'Tom123':print(i)if'0'<=i<='9':continueprint(f'---{ord(i)}')T---84o---111m---109123运行结果ifnot'0'<=i<='9’:print(f'---{ord(i)}')break语句和continue语句的异同循环If<条件>:breakbreak用于跳出本循环continue用于结束本次循环循环If<条件>:continue相似之处:在循环体中使用一般配合if语句伪随机数计算机不可能产生随机数据,它都是根据各种条件来生成一个确定的值。计算机只能产生伪随机数,随机数函数按照一定的算法来模拟产生一系列数据。算法确定,随机函数的结果也是确定的。random库seed函数——用于设置随机数种子。random函数——用于产生随机数,范围[0,1)之间。随机数种子——是随机数产生算法中参数,随机数种子确定了,那么后面利用算法产生的随机数序列就固定了例:importrandomrandom.seed(8)foriinrange(5):print(random.random())运行结果:0.22670585938104880.96229503583438280.126330898650859560.70481692287160790.08518526805075266是否需要主动设置随机种子呢?如果你在编程过程中设置了随机数种子:那么程序多次运行,只要种子相同,随机数也是相同的。可以利用相同的数据,重现程序运行的过程和结果。如果编程中没有设置随机数种子:默认使用系统当前时间作为随机数种子。多次运行时,使用的种子肯定不同,随机数序列也不同。程序运行的结果就会不同,更体现随机的效果。扩展随机函数函数描述uniform(x,y)产生一个[x,y]范围内的随机浮点数randint(x,y)产生一个[x,y]范围内的随机整数randrange(x,y[,z])随机从range(x,y[,z])产生的整数序列
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 旅游景区运营总监的招聘与面试要点
- 客户服务工程师的出差管理与报销流程
- 零售业中知识产权保护的实施与策略
- 护理法律与医疗质量控制
- 护理健康教育与健康教育合作
- 护理病历书写的基本标准
- 护理学考研:精神科护理学核心考点
- 2025年量子近似优化在机器人路径规划中的应用
- 零售业企业研发部主管招聘策略
- 旅游景区开发人员招聘面试须知
- 【考生回忆版】《中医妇科学》高级职称考试(副高正高)历年真题
- 智慧路灯综合解决方案
- 《大学生心理健康》教案-自我意识课件
- 《春季健康饮食》课件
- 500字作文标准稿纸A4打印模板-直接打印
- 生物化学英文版课件:Chapter 6 Enzyme catalysis
- 23J916-1:住宅排气道(一)
- 慢性病健康管理规范
- 检验检测机构质量手册程序文件质量记录合集(依据2023年版评审准则)
- 冀教版(冀人版)科学六年级下册全册教案
- 国际贸易理论与实务习题答案汇总(王峰第三版)第1-16章+实务案例题
评论
0/150
提交评论