一 以IPO角度分析温度转换问题
1) 温度刻画的两种不同体系(摄氏度与华氏度)
-摄氏度:中国等世界大多数国家使用
以1标准大气压下水的结冰点为0度,沸点为100度,将温度进行等分刻画
-华氏度:美国、英国等国家使用
以1标准大气压下水的结冰点为32度,沸点为212度,将温度进行等分刻画
2 ) 需求分析 -- 两种温度体系之间的转换
-摄氏度转换为华氏度 ; -华氏度转换为摄氏度
3) 问题分析
1 问题分析 -- 分析问题
-- 直接将温度值进行转换
温度数值需要标明温度体系,即摄氏度或华氏度转换后也需要给出温度体系
2-1 问题分析 -- 划分边界
-输入:带华氏或摄氏标志的温度值
-处理:根据温度标志选择适当的温度转换算法
-输出:带摄氏或华氏标志的温度值
2-2 问题分析 -- 设计输入输出格式
标识放在温度最后,F表示华氏度,C表示摄氏度
例如 : 32F表示华氏32度,68C表示摄氏68度
3 问题分析 -- 设计算法
根据华氏和摄氏温度定义,利用转换公式如下:
C = (F – 32 ) / 1.8
F= C * 1.8 + 32
其中, C表示摄氏温度,F表示华氏温度
4 问题分析 -- 编程实现
5 问题分析 -- 调试测试
6 维护升级
-- 通过添加 循环 While, 来实现重复询问的功能
二 程序语法结构分析
1 缩进,分行与语句间隔
1) 缩进 -- 表达程序的格式框架
-所属关系:表达代码间包含和层次关系的唯一手段
-长度一致:程序内一致即可,一般用4个空格或1个TAB
2 )分行 -- 通常 分行是语句间不同逻辑的层次手段
物理行 -- 在编写程序过程中编辑器所能显示的空间长度
逻辑行 -- Python识别的单个语句
Python假定每个物理行对应一个逻辑行,建议使用圆括号来分组运算符和操作数,以便能够明确地指出运算地先后顺序。使程序尽可能易读。
Python希望每行都使用一个语句,这样使得代码更容易读
如果想在一个物理行中使用多于一个逻辑行,那么需要使用分号(;)来特别地注明这种用法。
仅仅当逻辑行太长地时候,在多于一个物理行写一个逻辑行。这些都是为了尽可能避免使用分号,从而使代码更容读
有一种暗示的假设,可以不需要使用反斜杠。这种情况出现在逻辑行中使用圆括号,方括号或波形括号,这种方式称为暗示的行连接
3)语句间隔
Python使用分号分隔语句,从而将多条语句写在一行。例如:
print(100);print(2+3)
如果冒号之后的语句只有一条语句,Python允许将语句写在冒号之后。冒号之后也可以是分号分隔的多条语句。例如:
if x<100 and x>10 : y = x*5-1
else : y =0;print(x>100或x<=10)
2 注释 -- 不被程序执行的辅助性说明信息
1)-单行注释:以#开头,其后内容为注释
例如: # 这里是单行注释
2) -多行注释:以'''开头和结尾
''' 这是多行注释第一行
这是多行注释第二行 '''
PS --> 注意在使用多行注释过程中,如若 内容中包含引号,则需要注意趋同效应
3 命名与保留字
1) 3组成 -- 大小写字母、数字、下划线
PS --> 3.0 版本加入了汉字,但不建议大家使用汉字组成
2) 3构成 -- 大小写敏感、首字符不能是数字、不与保留字相同
3)1习惯 -- 驼峰规则
a、小驼峰式命名法(lower camel case):
第一个单词以小写字母开始,第二个单词的首字母大写。例如:firstName、lastName。
b、大驼峰式命名法(upper camel case):
每一个单词的首字母都采用大写字母,例如:FirstName、LastName、CamelCase,也被称为 Pascal 命名法。
4 Python关键字
关键字即保留字,用户不能将其用作其他任何标识符名称。Python 的标准库提供了一个keyword模块,在IDLE中可以输出当前的所有关键字
在Python中,用户需要注意True,False,None的大小写。如果用户需要查看关键字信息,在IDLE中也可以用help()命令进入帮助系统查看
5 变量
程序中用于保存和表示数据的占位符号
-变量采用标识符(名字)来表示,关联标识符的过程叫命名
例如:TempStr是变量名字
-可以使用等号(=)向变量赋值或修改值,=被称为赋值符号
例如: TempStr="82F" #向变量TempStr赋值"82F"
6 数据类型 -- 供计算机程序理解的数据形式
1)基本数据类型 --
1 数字类型 -- 整型,浮点型,复数
2 字符串类型 -- 由0个或多个字符组成的有序字符序列
- 字符串由一对单引号或一对双引号表示
"请输入带有符号的温度值: "或者 'C'
- 字符串是字符的有序序列,可以对其中的字符进行索引
"请" 是 "请输入带有符号的温度值: " 的第0个字符
- 正向递增序号和反向递减序号
- 使用[ ]获取字符串中一个或多个字符
-索引:返回字符串中单个字符 <字符串>[M]
"请输入带有符号的温度值: "[0] 或者 TempStr[-1]
-切片:返回字符串中一段字符子串 <字符串>[M:N]
"请输入带有符号的温度值: "[1:3] 或者 TempStr[0:-1]
2)组合数据类型 --
1 序列 -- 元组,列表
2 集合
3 映射 -- 字典
3)数据运算
1 算数运算 -- "+,-,*,/,**,%,//,..."
2 比较运算 -- "=,>,<,<=,>=,!=,..."
3 逻辑运算 -- 与或非 "&,|,^"
4 布尔运算 -- 二值运算(True,False)
7 程序控制结构
1) 顺序语句
2) 分支语句
if 条件1:
语句1
elif 条件:
语句2
else:
语句3
3) 循环语句
有限次数的循环 -- for
条件循环 -- while
8 函数
根据输入参数产生不同输出的功能过程
def <函数名>(<参数列表>):
<函数体>
return <返回值列表>
9 输出输出函数
1) input():从控制台获得用户输入的函数
-input()函数的使用格式:
<变量>=input(<提示信息字符串>)
-用户输入的信息以字符串类型保存在<变量>中
TempStr= input(“请输入”) # TempStr保存用户输入的信息
2)print():以字符形式向控制台输出结果的函数
-print()函数的基本使用格式:
print(<拟输出字符串或字符串变量>)
-字符串类型的一对引号仅在程序内部使用,输出无引号
print("输入格式错误") # 向控制台输出 输入格式错误
3)print()函数的格式化 - format
- print()函数的格式化:
print("转换后的温度是{:.2f}C".format(C))
-- {}表示槽,后续变量填充到槽中
-- { :.2f }表示将变量C填充到这个位置时取小数点后2位
print("转换后的温度是{:.2f}C".format(C))
如果C的值是 123.456789,则输出结果为: 转换后的温度是123.45C
4) eval():去掉参数最外侧引号并执行余下语句的函数
10 Python与文件处理 -- open
11 第三方包的处理
1) 导入 import packages
2) 安装 pip install packages
3)程序打包 pyinstall
三 turtle 库的使用
turtle(海龟)库是turtle绘图体系的Python实现;有一只海龟,其实在窗体正中心,在画布上游走;走过的轨迹形成了绘制的图形;海龟由程序控制,可以变换颜色、改变宽度等
1 最小单位像素
1)画布空间的大小决定了,单位像素的个数,比如 1080*720 则代表当前包含有 1080*720 个像素
2)单位像素的颜色由 RGB三原色决定,并且R,G,B的取值都是 0-255
2 turtle的相关命令
关于窗体与画布
-- 窗体,指代的是使用设备的屏幕大小
-- 画布 ,指代的是绘图区的大小,由turtle.setup(width,height,startx,starty)决定;width,height决定了画布大小,startx,starty决定了画布与窗体间的间距
1)全局控制命令
2)画笔控制命令
3)画笔运动命令
练习 -- 绘制彩虹线
# 绘制彩虹线 Rainbow_Line
import turtle as t
from random import randint as rint
t.shape("turtle")
t.pensize(5)
t.colormode(255)
t.bgcolor("black")
t.tracer(False)
for x in range(700):
t.color(rint(0,255),rint(0,255),rint(0,255))
t.circle(2*(1+x/4),5)
t.speed(30)
t.tracer(True)