python程序设计语言笔记.docx
Python 程序设计语言 笔记 第一周 基本程序设计 1. 1 程序设计的基本方法 —— IPO(输入、输出、 处理(算法)) (1)理解问题的计算部分:抽象问题 → 使用 IPO → 从多种方法中选择一种解决问题 (2)程序编写步骤:① 分析问题:分析问题的计算部分② 确定问题:将计算部分划分为 IPO 三部分③ 设计算法 ④ 编写程序 ⑤ 调试测试 ⑥ 升级维护 例:温度转换问题 【问题描述】对于摄氏度和华氏度,存在以下 转换: 气压 结冰点 沸点 摄氏度 1 标准大气压 0 度 100 度 华氏度 1 标准大气压 0 度 212 度 请利用 python 程序完成以上 转换。 【解题步骤】 ① 分析问题的计算部分 简化为三个步骤: ① 确定功能,利用 IPO 方法进一步分析: ① 确定 IPO 输入:华氏度(F)/ 摄氏度(C) ② 编写程序 处理:温度转化公式 ③ 调试程序 输出:摄氏度(C)/华氏度(F ) ① 设计算法 ① 编写程序 ① 测试调试 ① 升级维护 1.2 python 程序元素分析 程序 1: # TempConvert.py val = (“请输入带温度表示符号的温度值( 例如: 32C): “) if val[-1] in [ C , c ]: # in 判断左侧内容是否在右侧集合中 f = 1.8 * float(val[0:-1]) + 32 # float() 将括号中的字符串转换为浮点数 print(“转换后的温度为: %.2fF“%f) # .2 表示输出的浮点数 f 有两位小数 elif val[-1] in [ F , f ]: c = (float(val[0:-1]) - 32) / 1.8 print(“转换后的温度为: %.2fC“%c) else: print(“输入有误“)(1)缩进:标明代码层次关系、表明程序框架 (2)注释:辅助说明,不被执行也不受 语法约束,可以写入任何内容,用以提高可 读性 注释方法: ① 单行注释:# 开头; ① 多行注释:’’’ 开头和结尾; (3)变量:能够表示值的一个名称, 值可以变化命名:给自定义元素关联名字的过程(唯一性)命名规则:① 大小写字母、数字、下划线(大小写不统一)② 首字母只能是大小写字母或下划线,不能使用空格③ 中文等非字母符号也可以作为名字④ 不能与 python 定义的保留字相同 (4)表达式:产生/ 计算数据值 的一行代码(通过保留字和操作符) (5)空格的使用:① 表示每行缩进关系的空格不能改变② 空格不能分割命名 (6)()函数:从控制台获得用户的输入。使用方法为:= () 获得的用户输入以字符串的形式保存在中 如果 val = “28C”, 则 val[-1] = “C” ,val[0:2] = “28” 表示从区间[0,2)的一个子字符串 可以通过 val[0:-1]来获取除了最后一个字符以外的字符串 (7)分支语句:根据判断条件, 执行不同的路径。使用方法: If elif … elif else: (8)赋值:同步赋值:同时给多个变量赋值。使用方法: ,…, = ,…, 例:若要使变量 x 和 y 的值实现交换,则只需一行代码:x, y = y, x (9)print() 函数:用来输出字符信息,或以字符的形式 输出变量的值,通过%选择要输出的变 量 (10)循环语句:控制程序循环运行的语句,根据判断/ 计数条件确定循环次数。 使用方法: for I in range(): 函数编写模板 (1) – print 模板: (2)initial – print 模板: ① 用户输入:() ① 初始变量:运算需要的初始值 ② 运算部分:算法实现 ② 运算部分:算法实现 ③ 结果输出:print() ③ 结果输出:print() 1.3 python 蟒蛇程序的实现 分析: 程序 2: import turtle # (乌龟)轨迹描绘函数库 def drawSnake(rad,angle,len,neckrad): # 绘制蟒蛇函数 for i in range(len): turtle.circle(rad,angle) # 圆形轨迹函数,参数 rad 描述圆形半径的位置 turtle.circle(-rad,angle) # rad 为负值,半径在乌龟右侧 turtle.circle(rad,angle/2) # 参数 angle 表示乌龟沿圆形爬行的弧度值 turtle.fd(rad) # 也称为 turtle.forward() 函数 # 表示轨迹直线移动,参数表示移动距离 turtle.circle(neckrad+1,180) turtle.fd(rad*2/3) def main(): turtle.setup(1300,800,0,0) # 启动图形窗口,参数分别为窗口的宽度、高度 # 窗口左上角点的横、 纵坐标位置 pythonsize = 30 turtle.pensize(pythonsize) # 轨迹的宽度,参数 为 像素大小,这里为 30 turtle.pencolor(“blue“) # 轨迹颜色,参数 为字符串(英文或 16 进制颜色代码) turtle.seth(-40) # 轨迹运动方向,参数为角度(逆时针,以正东方向为 0 度) drawSnake(40,80,5,pythonsize/2) # 绘制蟒蛇函数,用以绘制 python 蟒蛇 main() def 定义函数:① 函数是一组代码的集合,用以完成特定的功能,这组代码的名字就叫函数 名 ② def 所定义的函数,必 须要通过函数名对函数进行调用才能执行 函数库的引用: 方式一:import 如:import turtle 方式二:from import from import * ← 调用函数时不需要使用库名,直接使用 如:from turtle * fd(100) 注意:方式一可调用不同库中的同名函数,方式二 则不可第二周 类型及应用 2.1 类型 —— 编程语言对数据的划分 数字类型、字符串类型、元组类型 列表类型、文件类型、字典类型 (1)数字类型:数字类型对 python 语言中的数字的表示和使用进行了定义和规范 [1] 分类:① 整数类型 ② 浮点数类型 ③ 复数类型 ① 整数类型概念与数学一致,没有取值范围限制 例:1010(十进制数),0 x9a (十六进制数,以 0 x/0X 开头),0b010(二进制数,以 0b/0B 开头) 0o123(八进制数,以 0o/0O 开 头) ② 浮点数类型是带有小数点及小数的数字,数 值范围和小数精度有一定限制,因系统而异 例:0.0(与整数 0 不同),96e4(科学计数法,e/E 代表 10 的次幂,e/E 后的数字为指数) ③ 复数类型概念与数学一致,z=a+bj(j/J 代表虚数部分)例:12.3+4j 对于一个复数,如 z = 1.1+9j,可以使用 z.real 和 z.imag 来获得复数的实部和虚部 [2] 数字类型的关系: ← 特例