资源预览内容
第1页 / 共41页
第2页 / 共41页
第3页 / 共41页
第4页 / 共41页
第5页 / 共41页
第6页 / 共41页
第7页 / 共41页
第8页 / 共41页
第9页 / 共41页
第10页 / 共41页
亲,该文档总共41页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第2章 Python程序实例解析1温度转换程序实例2温度刻画存在不同体系,摄氏度以1标准大气压下水的结冰点为0度,沸点为100度,将温度进行等分刻画。华氏度以1标准大气压下水的结冰点为32度,沸点为212度,将温度进行等分刻画。问题:如何利用Python程序进行摄氏度和华氏度之间的转换温度体系步骤1:分析问题。这里给出三个角度。第一,利用程序进行温度转换,由用户输入温度值,程序给出输出结果。这是最直观的理解。(我们将以第一种理解角度为例编写并讲解余下程序步骤。)温度转换实例第二,可以通过程序自动监听温度信息发布渠道(如收音机、电视机等)给出的温度播报源数据,通过语音识别、图像识别等方法自动获得温度值,再由程序完成转换输出给用户。这种角度相比第一种不需要用户给出输入。第三,随着互联网的高度普及和接入的便捷,程序也可以定期从温度信息发布网站获得温度值,再将温度信息转换成旅行者熟悉的方式。温度转换实例步骤2:划分边界:在确定问题计算部分的基础上进一步划分问题边界,即明确问题的输入数据、输出数据和对数据处理的要求。由于程序可能接收华氏温度和摄氏温度,并转换为另一种,该功能的IPO描述如下: 输入:华氏或者摄氏温度值、温度标识 处理:温度转化算法 输出:华氏或者摄氏温度值、温度标识温度转换实例步骤3:设计算法, F表示华氏度,82F表示华氏82度 C表示摄氏度,28C表示摄氏28度根据华氏和摄氏温度定义,转换公式如下: C = ( F 32 ) / 1.8 F = C * 1.8 + 32温度转换实例步骤4:编写程序温度转换实例步骤5:调试、运行程序 在系统命令行上运行如下命令执行程序: C:python TempConvert.py或者:使用IDLE打开上述文件,按F5运行(推荐)输入数值,观察输出温度转换实例步骤6:升级维护 与人一样,任何程序都有生命周期。促使程序生命结束的事件有很多,例如:平台更换、使用方式变化、算法改进等。对于上述例子,只要中国、美国使用不同的温度标准,温度转换的问题将一直存在。随着问题使用场景、输入和输出要求等因素的变化,程序将需要不断地维护和升级温度转换实例Python语法元素分析11Python语言采用严格的“缩进”来表明程序的格式框架。缩进指每一行代码开始前的空白区域,用来表示代码之间的包含和层次关系。 1个缩进 = 4个空格缩进是Python语言中表明程序框架的唯一手段程序的格式框架单层缩进 多层缩进 程序的格式框架注释:程序员在代码中加入的说明信息,不被计算机执行注释的两种方法:单行注释以#开头 #Here are the comments多行注释以 开头和结尾 This is a multiline comment used in Python注释注释主要有三个用途。第一,标明作者和版权信息。在每个源代码文件开始若干行增加注释,标记编写代码的作者、日期、用途、版权声明等信息第二,解释代码原理或用途。在程序关键代码附近增加注释,解释关键代码作用,增加程序的可读性。第三,辅助程序调试。在调试程序时候,可以通过单行或多行注释临时“去掉”一行或连续多行与当前调试无关的代码,辅助程序员找到程序发生问题的可能位置。注释常量:程序中值不发生改变的元素变量:程序中值发生改变或者可以发生改变的元素Python语言允许采用大写字母、小写字母、数字、下划线(_)和汉字等字符及其组合给变量命名,但名字的首字符不能是数字,中间不能出现空格,长度没有限制注意:标识符对大小写敏感,python和Python是两个不同的名字 命名与保留字Python 3.x保留字列表 (33个)命名与保留字存储和处理文本信息在计算机应用中十分常见。“文本”在程序中用字符串(string)类型来表示。Python语言中,字符串是用两个双引号 或者单引号 括起来的一个或多个字符。实例代码1.1中第2、3、5、6、8、10行代码都包含带有双引号的字符串。字符串字符串包括两种序号体系:正向递增序号和反向递减序号。如果字符串长度为L:正向递增需要以最左侧字符序号为0,向右依次递增,最右侧字符序号为L-1;反向递减序号以最右侧字符序号为-1,向左依次递减,最左侧字符序号为-L。字符串Python语言中,= 表示“赋值”,即将等号右侧的值计算后将结果值赋给左侧变量,包含等号(=)的语句称为“赋值语句”Python字符串的两种序号体系同步赋值语句:同时给多个变量赋值 , , = , , 赋值语句例:将变量x和y交换采用单个赋值,需要3行语句:即通过一个临时变量t缓存x的原始值,然后将y值赋给x,再将x的原始值通过t赋值给y。t = xx = yy = t赋值语句采用同步赋值语句,仅需要一行代码: x, y = y, x赋值语句获得用户输入之前,input()函数可以包含一些提示性文字 = input()Imput( )函数分支语句是控制程序运行的一类重要语句,它的作用是根据判断条件选择程序执行路径,使用方式如下:if : elif : . else: 分支语句if、elif、else都是保留字,else后面不增加条件,表示不满足其他if语句的所有其余情况。实例代码1.1中第3、6、9行采用了“if-elif-else”类型的分支语句,如下:分支语句其中,第3行if语句包含第一个条件表达式:TempStr-1 in F, f该表达式由保留字in组成,表示判断字符串TempStr的最后一个字符(TempStr-1)是否在一个由F或者f组成的集合中,即TempStr-1是否等于F或者f。如果相等,则返回True,否则返回False。分支语句对于if语句来说,当in表达式返回True时,执行第4、5行语句内容,如果返回False,则执行第6行的elif语句,判断下一个条件。第3行语句判断用户输入的温度值是否是华氏度。同理,第6行elif语句判断字符串TempStr的最后一个字符(TempStr-1)是否在一个由C或者c组成的“集合”中,如果条件成立,则继续执行第7、8行语句,否则执行第9行语句。第6行语句判断用户输入的温度值是否是摄氏度。分支语句第9行else语句没有判断条件,表示当所有if、elif条件都不满足时所执行的语句。表示用户输入的内容不符合预定义的摄氏温度值和华氏温度值格式,对于该程序来说,用户输入出现了错误。分支语句用户输入两个数字,计算它们的平均数,并输出平均数Eval()函数简单说,eval()的作用是将输入的字符串内容变成Python语句,并执行这个语句。实例代码1.1使用eval()函数将用户的部分输入(TempStr0:-1)由字符串转换成数字,假设用户输入102C,经过eval()函数处理,将变成Python内部可进行数学运算的数值102。Eval()函数使用eval()函数处理字符串需要注意合理使用,例如,如果直接输入字符串hello,eval()函数将去掉两个引号,解释其为一个变量,由于之前没有定义过hello变量,解释器报错。当输入字符串hello时,eval()函数去掉外部双引号后,内部还有一个引号,则hello被解释为字符串。eval()函数还有很多作用,请读者在实践中逐步挖掘。Eval()函数Eval()函数如果希望用户输入一个数字,可以是小数或负数,并用程序对这个数字进行计算,可以采用eval(input()的组合,例如:Eval()函数实例代码1.1中第5、8、10行是print()输出函数,用来输出字符信息,也能够以字符形式输出变量。当输出纯字符信息时,可以直接将待输出内容传递给print()函数,如第10行。当输出变量值时,需要采用格式化输出方式,通过format()方法将待输出变量整理成期望输出的格式,如第5和8行。print()函数具体来说,print()函数用槽格式和format()方法将变量和字符串结合到一起输出。例如第5行,输出的模板字符串是转转换换后后的的温温度度是是:.2fC,其中大括号表示一个槽位置,这个括号中的内容由字符串后面紧跟的format()方法中的参数C填充。大括号:.2f中内容表示变量C输出的格式,具体表示输出数值取两位小数值print()函数用两个小例子感受一下这段程序的魅力吧print()函数循环语句:控制程序运行,根据判断条件或计数条件确定一段程序的运行次数遍历循环,基本过程如下for i in range (): 例如,使某一段程序连续运行10次for i in range (10): 循环语句实例代码1.1和实例代码1.2都是由一个序列表达式组成,程序按照顺序方式从头执行到尾。实际编程中,一般将特定功能代码编写在一个函数里,便于阅读和复用,也使程序模块化更好。函数可以理解为对一组表达特定功能表达式的封装,它与数学函数类似,能够接收变量并输出结果。input()、print()、eval()都是Python解释器内置的函数。函数经过函数改造后的温度转换程序实例代码1.3如下所示。函数实例代码第2行的def保留字定义了一个函数,从第2行到第10行,该函数名字为tempConvert(),它使用一个参数ValueStr。tempConvert()函数所属代码是第2行后与之有缩进关系的代码,即第3到10行。在这些代码中,ValueStr变量作为输入函数的字符串使用。由def保留字定义的函数在程序中不直接执行,需要使用函数名称调用才能执行。函数第11行由于没有缩进,它与第2行是平行关系,程序第1行到第10行不直接执行,从第11行开始执行,接收用户输入并存到变量TempStr中。第12行调用tempConvert()函数,并将TempStr当作参数传递给这个函数的ValueStr内部变量。接下来,程序根据tempConvert()函数定义执行函数内容,完成温度转换功能。简单说,程序代码1.3通过def语句定义了tempConvert()函数,并将原有功能封装在这个函数中,通过最后一行语句调用tempConvert()函数执行这些功能。函数
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号