python程序实例解析-第二章--Python程序实例解析

一 以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 问题分析 -- 编程实现

1240

编写上述代码,并保存为TempConvert.py文件

5 问题分析 -- 调试测试

1240

程序运行效果

6 维护升级

-- 通过添加 循环 While, 来实现重复询问的功能

1240

程序功能升级

二 程序语法结构分析

1 缩进,分行与语句间隔

1) 缩进 -- 表达程序的格式框架

-所属关系:表达代码间包含和层次关系的唯一手段

-长度一致:程序内一致即可,一般用4个空格或1个TAB

2 )分行 -- 通常 分行是语句间不同逻辑的层次手段

物理行 -- 在编写程序过程中编辑器所能显示的空间长度

逻辑行 -- Python识别的单个语句

Python假定每个物理行对应一个逻辑行,建议使用圆括号来分组运算符和操作数,以便能够明确地指出运算地先后顺序。使程序尽可能易读。

Python希望每行都使用一个语句,这样使得代码更容易读

如果想在一个物理行中使用多于一个逻辑行,那么需要使用分号(;)来特别地注明这种用法。

1240

一个物理行中使用多于一个逻辑行

仅仅当逻辑行太长地时候,在多于一个物理行写一个逻辑行。这些都是为了尽可能避免使用分号,从而使代码更容读

1240

多个物理行写一个逻辑行--明确地行连接

有一种暗示的假设,可以不需要使用反斜杠。这种情况出现在逻辑行中使用圆括号,方括号或波形括号,这种方式称为暗示的行连接

1240

1暗示的行连接

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中可以输出当前的所有关键字

1240

Python关键字

在Python中,用户需要注意True,False,None的大小写。如果用户需要查看关键字信息,在IDLE中也可以用help()命令进入帮助系统查看

1240

help()命令进入帮助系统查看关键字信息

5 变量

程序中用于保存和表示数据的占位符号

-变量采用标识符(名字)来表示,关联标识符的过程叫命名

例如:TempStr是变量名字

-可以使用等号(=)向变量赋值或修改值,=被称为赋值符号

例如: TempStr="82F" #向变量TempStr赋值"82F"

6 数据类型 -- 供计算机程序理解的数据形式

1)基本数据类型 --

1 数字类型 -- 整型,浮点型,复数

2 字符串类型 -- 由0个或多个字符组成的有序字符序列

- 字符串由一对单引号或一对双引号表示

"请输入带有符号的温度值: "或者 'C'

- 字符串是字符的有序序列,可以对其中的字符进行索引

"请" 是 "请输入带有符号的温度值: " 的第0个字符

- 正向递增序号和反向递减序号

1240

字符串的序号

- 使用[ ]获取字符串中一个或多个字符

-索引:返回字符串中单个字符 <字符串>[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():去掉参数最外侧引号并执行余下语句的函数

1240

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决定了画布与窗体间的间距

1240

1)全局控制命令

1240

全局控制命令

2)画笔控制命令

1240

style=%22min-height:0;min-width:0;%22

13693475.html

正在上传...取消重新上传

3)画笔运动命令

1240

练习 -- 绘制彩虹线

# 绘制彩虹线 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)

1240

style=%22min-height:0;min-width:0;%22

13693475.html

正在上传...取消重新上传

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值