python 第二章.ppt_第1页
python 第二章.ppt_第2页
python 第二章.ppt_第3页
python 第二章.ppt_第4页
python 第二章.ppt_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章写一个简单的程序 Outline 软件开发过程程序实例 温度转换程序的构件程序实例 利息计算 写一个简单的程序 程序设计需要系统化的方法 程序设计是用精确的语言告诉计算机该做什么 要精确到最细节处 计算机只会做很简单的事情 只能刻板地执行程序 一方面要写大型程序 一方面要精确到细枝末节 这极具挑战性 细节上的微小差错可带来巨大灾难 例如1996年阿丽亚娜5号火箭首次鉴定发射失败的原因是将一个浮点数转换为整数的代码有问题 3 软件开发过程 Step1 需求分析 我们要解决什么问题 分析的越仔细越好 Step2 制定程序规格 程序要做什么 主要关注能完成什么 而非程序怎么运行 例如 对于简单程序 我们只要描述输入输出 然后看他们是怎么关联的即可 Step3 算法设计 阐明程序的整个框架结构 考虑程序如何运行 设计适合于上述规格的算法 一般用伪代码给出总体结构 不纠缠细节 Step4 算法实现 用某种程序设计语言编写代码 Step5 测试与排错 测试程序是否如预期 排除bug Step6 维护程序 运行中还会不断有问题 4 Outline 软件开发过程程序实例 温度转换程序的构件程序实例 利息计算 写一个简单的程序 例 温度转换 需求 预报摄氏度 想知道对应华氏度 规格 输入摄氏度 显示输出华氏度 两者对应关系是F 9 5 C 32 设计算法 简单的IPO实现 翻译成Python程序 详见下页 测试 常用边界数据 如输入0 100 伪代码写的算法 输入摄氏度 celsius计算华氏度 fahrenheit 9 5celsius 32显示输出 fahrenheit Python程序 convert py convertCelsiustempstoFahrenheit by SuzieProgrammerdefmain celsius input WhatistheCelsiustemperature fahrenheit 9 0 5 0 celsius 32print Thetemperatureis fahrenheit degreesFahrenheit main Outline 软件开发过程程序实例 温度转换程序的构件程序实例 利息计算 写一个简单的程序 程序的构成 名字 names main celsius等表达式 9 0 5 0 celsius 32输入 celsius input WhatistheCelsiustemperature 赋值 fahrenheit 9 0 5 0 celsius 32输出 print Thetemperatureis fahrenheit degreesFahrenheit defmain celsius input WhatistheCelsiustemperature fahrenheit 9 0 5 0 celsius 32print Thetemperatureis fahrenheit degreesFahrenheit main 1 标识符 identifiers 标识符 值 变量 函数 模块等的名字 标识符命名规则字母或下划线开头 后接字母 数字或下划线大小写敏感标识符不能是保留词良好编程风格选择有意义的名字 变量名一般是名词短语 函数名一般是动词短语风格统一 10 2 表达式 Expressions 表达式 程序内用于产生或计算新数据值的代码片段称为 表达式 与数学中类似 3 9 x 1 x 参加运算的可以是常量 变量运算符 指数运算 可以用括号改变优先级 只能用小括号良好编程风格 用空格 括号增加可读性 11 3 输出语句 print Print能用于输出 其不同的使用语法格式为 Print 输出一个空行print 输出一个表达式 然后换行print 同时输出多个表达式 然后换行print 同时输出多个表达式 但是不换行print的语义 自左向右计算表达式的值并在一行上显示 值之间以空格隔开 最后输出换行 但以逗号结尾时不换行 12 4 赋值语句 AssignmentStatements 语法 语义 计算表达式的值 存入变量 一个变量可被多次赋值 但总是持有最后一次赋值的结果 13 myVar 0 myVar0 myVar 7 myVar7 myVar myVar 1 myVar8 5 输入赋值语句 input 输入赋值语句的语法 input 语义 计算的值 通常是字符串 显示该值等待用户输入一个值或表达式 以回车键结束 计算用户输入的表达式 得到input 的值把input 的值存入 良好风格用提醒用户输入以空格结束 Why 14 6 同时赋值语句 SimultaneousAssignment 同时赋值语法 语义 计算右边各表达式的值 分别存入左边的对应变量 x 2 y 4 sum diff x y x y sum diff 6 2 15 6 同时赋值语句 SimultaneousAssignment 同时赋值在交换两个变量中的应用传统语言的做法 引入一临时变量 分3步走temp xx yy tempPython可以 x y y xinput 也可为多个变量同时赋值x y input inputx y 执行到此语句时用户可输入 3 4 则x 3 y 4 16 两个表达式之间用逗号隔开 分支结构 statement1 statement2 statement3 condition statement2 statement1 statements 顺序结构 循环结构 程序的控制流程 P21 2 6 condition true false 循环 循环就是重复地执行某个任务 已经确定循环次数 计数循环foriinrange 10 x 3 9 x 1 x printx for循环 语法 forin 循环次数是确定的 特别地 称为计数循环 是一个值的序列 如 1 3 5 7 9 或range 10 即 0 1 9 可以是任何语句序列 用左缩进标识 语义 依次取遍的每个值 对每一取值执行一次 foriin 0 1 2 3 printi0123 foriinrange 5 printi i014916 x 0 1 foriinrange 6 x 3 9 x 1 x printx0 3510 88841610 3866184397170 9248640249720 2710131851080 770503650563 Outline 软件开发过程程序实例 温度转换程序的构件程序实例 利息计算 写一个简单的程序 利息计算 需求 给定本金和利率 计算10年后的本利之和规格 第二年的本金之和 第一年的本金 1 利率 算法设计 IPO Printanintroduction 输出一行注释行 Inputtheamountoftheprincipal 输入本金balance Inputtheannualizedpercentagerate 输入年利率rate Repeat10times balance balance 1 rate Outputthevalueofprincipal 输出10年后的本利之和 Python程序 interest py coding gbkdefmain print 这是一个计算10年后本利之和的程序 balance input 请输入本金 rate input 请输入利率 foriinrange 10 balance balance 1 rate printbalancemain 嵌套for循环 语法 forin forin defmain foriin 1 2 3 4 5 6 7 8 9 forjin 1 2 3 4 5 6 7 8 9 if i j printi j if j 9 printmain 可不可以用range 来表示循环序列 与for循环关系密切的range 函数 range 函数range n 循环n次 循环计数变量为 0 1 2 n 1range start n 循环 n start 次 循环计数变量为 start start 1 2 n 1range start n step 循环 次 循环计数变量为 start start step 不包括n Step可以是负值 嵌套for循环 defmain foriin 1 2 3 4 5 6 7 8 9 forjin 1 2 3 4 5 6 7

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论