概述
《python语言程序设计》笔记
- 第一章 程序设计基本方法
-
- 1.1基本知识
- 1.2计算机编程
- 1.3数据类型
-
- 温度转换
- 1.4课后习题
- 1.5python123习题与测试
- 第二章
-
- 2.1turtle库(海龟库)
-
- 2.1.1空间坐标体系
- 2.1.2turtle角度坐标体系
- 2.1.3RGB色彩体系
- 2.2turtle程序语法元素分析
-
- 2.2.1库引用和 import
- 2.2.2画笔控制函数
- 2.2.3运动控制函数
- 2.2.4方向控制函数
- 2.2.5循环结构与range
- 课本例子
- 2.3练习与测试题
-
- 测试题
- 第三章
-
- 3.1 数字类型及操作
- 3.2 实例3:天天向上的力量
- 3.3 字符串类型及操作
-
- 3.3.1 字符串类型的表示
- 3.3.2 字符串操作符
- 3.3.3 字符串处理函数
- 3.3.5 字符串类型的格式化
- 3.4 模块2:time库的使用
-
- 3.4.1 time库的基本介绍
- 3.4.2 时间获取
- 3.4.3 时间格式化
- 3.4.4 程序计时应用
- 3.5 实例4:文本进度条
- 课上练习代码
- 练习题
- 测试题
- 第四章
-
- 4.1 程序的分支结构
-
- 4.1.1 单分支结构
- 4.1.2 二分支结构
- 4.1.3 多分支结构
- 4.1.4 条件判断及组合
- 4.1.5 程序的异常处理
- 4.2 实例5:身体质量指数BMI
- 4.3 程序的循环结构
-
- 4.3.1 遍历循环
- 4.3.2 无限循环while
- 4.3.3 循环控制保留字
- 4.3.4 循环的高级用法
- 4.4 模块3:random库的使用
-
- 4.4.1 random 标准库之一
- 第五章函数的定义与使用
-
- 5.1 函数的理解和定义
-
- 5.1.1定义
- 5.1.2 函数的使用及调用过程
- 5.1.3 函数的参数传递
- 5.1.4 函数的返回值
- 5.1.5 局部变量和全局变量
- 5.1.6 lambda函数
- 5.2 七段数码管绘制
-
- 5.2.1 基本思路
- 5.2.2 理解思维方法
- 5.2.3 举一反三
- 5.3 代码复用与函数递归
- 5.4 模块:PyInstaller库的使用(未安装成功)
-
- 5.4.1 概述
- 5.5 科赫雪花
- 第六章 组合数据类型
-
- 6.1 集合类型及操作
-
- 6.1.1 集合类型定义
- 6.1.2 集合间操作
- 6.1.3 集合类型应用场景
- 6.2 序列类型及操作
-
- 6.2.1 定义
- 6.2.2 序列处理函数和方法
- 6.2.3 元组类型及操作
- 6.2.4 列表类型及操作
- 6.2.5 序列类型应用场景
- 6.3 实例9:基本统计值计算
- 6.4 字典类型及操作
-
- 6.4.1 定义
- 6.4.2函数和方法
- 6.4.3应用场景
- 6.5 模块5:jieba库的使用
- 6.6 实例10:文本词频统计(论文找关键词)
- 第七章 文件和数据格式化
-
- 7.1 文件的使用
-
- 7.1.1 文件的类型
- 7.1.3 文件内容的读取
- 7.1.4 数据的文件写入
- 7.2 实例11:自动化轨迹绘制
-
- 7.2.1 问题分析
- 7.2.2 实例讲解
- 7.2.3 举一反三
- 7.3 一维数据的格式化和处理
-
- 7.3.1 数据组织的维度:组织形式
- 7.3.2一维数据的表示
- 7.3.3一维数据的存储
- 7.3.4一维数据的处理
- 7.4 二维数据的格式化和处理
-
- 7.4.1 二维数据的表示
- 7.4.2 CSV格式与二维数据存储
- 7.4.3 二维数据的存储
- 7.4.4 二维数据的处理
- 7.5 模块6:wordcloud库的使用
- 7.6 实例12:政府工作报告词云
- python123练习题
- 第八章 程序设计方法学
-
- 8.1 实例13:体育竞技分析
-
- 8.1.1 问题分析
- 8.1.2 模拟N场比赛
- 8.1.3 比赛规则
- 8.1.4 自顶向下(设计)和自底向上(执行)
- 8.1.5 实例讲解
- 8.1.6 举一反三
- 8.2 Python程序设计思维
-
- 8.2.1 计算思维与程序设计
- 8.2.2 计算生态与Python语言
- 8.2.3 用户体验与软件产品
- 8.2.4 基本的程序设计模式
- 8.3 Python第三方库安装
-
- 8.3.1 Python世界
- 8.3.2 第三方库的pip安装方法
- 8.3.3 第三方库的集成安装方法
- 8.3.4 第三方库的文件安装方法
- 8.4 模快7:os库的基本使用
-
- 8.4.1 路径操作:os.path子库,处理文件路径及信息
- 8.4.2 进程管理:启动系统中其他程序
- 8.4.3 环境参数:获得系统软硬件信息等环境参数
- 8.5 实例14:第三方库自动安装脚本
-
- 8.5.1 问题分析:第三方库自动安装脚本
- 8.5.2 优秀的第三方库 (PyPI搜,略)
- 8.5.3 举一反三:自动化脚本+
- 测验8:程序设计方法学
- 第九章 计算生态概览
-
- 9.1从数据处理到人工智能
- 9.2人格分析图和雷达图
- 9.3从web解析到网络空间
- 9.4从人机交互到艺术设计
- 9.5玫瑰花设计
- 总结
- 测验9:Python计算生态纵览
- 期末测验
始于2020年7月16日
第一章 程序设计基本方法
1.1基本知识
计算机按照摩尔定律发展
编译:将源代码一次性转换成目标代码的过程。执行编译过程的程序叫编译器(compiler)。
解释:将原代码逐条转换成目标代码同时逐条运行的过程。执行解释过程的程序叫解释器(interpreter)。
静态语言:使用编译执行的编程语言(C/C++,java)
脚本语言:使用解释执行的编程语言(Python,JavaScript,PHP)
IPO:
input输入:文件输入、控制台输入、交互输入、内部参数输入等。
process处理(主要逻辑):算法(灵魂)
output输出:控制台、文件、网络、操作系统内部变量等输出。
1.2计算机编程
单行注释#,多行注释
用三个`
两种启动方式
win+r输入cmd—输入python
输入exit()或者quit()可以退出python运行程序
```python
编程体现一种抽象交互、自动化执行的思维方式
计算思维:区分逻辑思维和实证思维的第三种思维模式。
# 计算 100 元能买多少瓶,并保存至变量 num 中
num = int(100/12)
# 计算应找零多少,并保存到 remaining 中
remaining = 100%12
# 输出瓶数''
print("能买",num,"瓶")#要加逗号
# 输出还剩多少钱
print('找零',remaining, '元')#要加逗号
命名:数字大小写字母下划线汉字,首字符不能是数字,中间没有空格,区分大小写
python区分大小写
不与保留字相同,python中共有33个保留字,查询方法:
import keyword
print(keyword.kwlist)
33个保留字,注意大小写
1.3数据类型
温度转换
TempStr = input("请输入带有符号的温度值:")
if TempStr[-1] in ['F', 'f']:
C = (eval(TempStr[0:-1]) - 32) / 1.8
print("转换后的温度是{:.2f}C".format(C))
elif TempStr[-1] in ["C", "c"]:
F = 1.8 * eval(TempStr[0:-1]) + 32
print("转换后的温度是{:.2f}F".format(F))
else:
print("输入格式错误")
if TempStr[-1] in ['F', 'f']:
表示判断前者是否与列表中某个元素相同
字符串:由0个或多个字符组成的"有序"字符序列(有序是从0开始)。# 有序-->可以索引、切片 加""或''
整数:数学中的整数
浮点数:数学中的实数,带有小数点部分
列表:由0个或多个数据组成的"有序"序列,加["F",'f']
索引:
“请输入带有符号的温度值:”[0]或者
“请输入带有符号的温度值:”[-12]
都显示请
切片:返回字符串中一段字符
“请输入带有符号的温度值:”[1:3]
显示输入
“请输入带有符号的温度值:”[0:-1]
显示请输入带有符号的温度值(没有冒号)
input()控制台输入
print()控制台输出,格式化(设置小数位数)
注:这两兄弟,在控制台显示的时候,一个添加引号形成字符串,一个将字符串自动去掉引号。
补充:"eval()"去掉参数最外侧引号并执行余下语句的函数
eval('"1+2"')显示‘1+2’(去掉最外层引号)
eval("hello")会显示错误,系统默认hello为一个变量,想要变成字符需要改为eval("'hello"')
eval()能够将输入的字符串变为数值
python中的空格默认被过滤掉
小括号表示运算优先级,增加不会有影响
.format(name)填充函数,name[1:]表示从第二个数据开始
两个print输出会换行,在print()的括号在添加end=""表示以空字符结尾,这样会把输出放在一行
import datetime引用日期函数库
import turtle引用图形库
import turtle
from turtle import *
上面两个都可以,不同的是下面用到时第一种格式为turtle.fd(),第二种为fd(),建议使用第一种
同步赋值语句可以一次性赋值多个变量a,b=1,2
交换x与y的值通常要一个中间变量,使用同步赋值语句不需要中间变量,计算机先计算右边的变量在赋值到左边
input()输入的都是字符串,其中()中可以写提示性信息
if ,else条件语句中else后面不加条件
1.4课后习题
●1-1 Hello程序
print("Hello World")
●1-2 圆面积的计算
radius = 25 # 圆的半径是25
area = 3.1415 * radius * radius # 输入计算圆面积的公式
print(area)
print("{:.2f}".format(area)) # 只输出两位小数,注意冒号
●1-3 简单的人名对话
name = input("输入姓名:")
print("{}同学,学好Python,前途无量!".format(name))
print("{}大侠,学好Python,大展拳脚!".format(name[0]))
print("{}哥哥,学好Python,人见人爱!".format(name[1:]))#表示第二个字符之后的所有
●1-4 斐波那契数列的计算
a, b = 0, 1
while a < 1000: # 输出不大于1000 的序列
print(a, end=',')#表示逗号分隔
a, b = b, a + b
●1-5 同切圆的绘制
import turtle # 引用turtle 库
turtle.pensize(2) # 设置画笔宽度为2 像素
turtle.circle(10) # 绘制半径为10 像素的圆
turtle.circle(40) # 绘制半径为40 像素的圆
turtle.circle(80) # 绘制半径为80 像素的圆
turtle.circle(160) # 绘制半径为160 像素的圆
●1-6 日期和时间的输出
from datetime import datetime # 引用datetime 库
now = datetime.now() # 获得当前日期和时间信息
print(now)
now.strftime("%x") # 输出其中的日期部分,这里是datetime库,与第三章time库不同
now.strftime("%X") # 输出其中的时间部分
●1-7 字符串拼接
str1 = input("请输入一个人的名字:")
str2 = input("请输入一个国家名字:")
print("世界这么大,{}想去{}看。".format(str1,str2))
●1-8 整数序列求和
n = input("请输入整数N: ")
sum = 0
for i in range(int(n)):#直接把n化为整数类型
sum += i + 1#此处表示i=i+1
print("1 到N 求和结果: ", sum)
●1-9 九九乘法表输出
for i in range(1,10):
for j in range(1,i+1):
print("{}*{}={:2} ".format(j,i,i*j), end='')
print('')#表示换行
●1-10 阶乘求和
sum, tmp = 0, 1
for i in range(1,11):
tmp*=i
sum+=tmp
print("运算结果是: {}".format(sum))
●1-11 猴子吃桃问题
n = 1
for i in range(5,0,-1):
n = (n+1)<<1#此处与n=(n+1)*2一样
print(n)
●1-12 健康食谱输出
diet = ['西红柿', '花椰菜', '黄瓜', '牛排', '虾仁']
for x in range(0, 5):
for y in range(0, 5):
if not(x == y):#表示x!=y
print("{}{}".format(diet[x], diet[y]))
●1-13 五角星绘制
from turtle import *
fillcolor("red")
begin_fill()
while True:
forward(200)
right(144)
if abs(pos()) < 1:
break
end_fill()
●1-14 太阳花绘制
from turtle import *
color('red', 'yellow')
begin_fill()
while True:
forward(200)
left(170)
if abs(pos()) < 1:
break
end_fill()
done()
1.5python123习题与测试
●1-1 温度转换
n=input()
if n[-1] in ['F','f']:
C=(eval(n[0:-1])-32)/1.8
print("{:.2f}C".format(C))
elif n[-1] in ['C','c']:
F=eval(n[0:-1])*1.8+32
print("{:.2f}F".format(F))
else:
print("输入格式错误")
●1-2 你好
print("Hello World")
●1-3 数字形式转换
n="九八七六五四三二一零"
s=input()
for c in s:
print(n[9-eval(c)],end="")
●1-4 温度转换2
n=input()
if (n[0]=="F"):#注意等于号以及F必须用引号括起来
C=(eval(n[1:])-32)/1.8#eval相当于把字符串转换为数字
print("C{:.2f}".format(C))
else:#else后面不能加东西
F=eval(n[1:])*1.8+32
print("F{:.2f}".format(F))
●1-5 货币转换
n=input()
if (n[:3]=="RMB"):#此处不能用n[0:2],无法显示
U=eval(n[3:])/6.78
print("USD{:.2f}".format(U))
else:
R=eval(n[3:])*6.78
print("RMB{:.2f}".format(R))
测试
n=eval(input())
if n==0:
print("Hello World")
elif n>0:
print("Henllno nWonrlnd")
else:
for c in "Hello World":
print(c)
mopn=eval(input())
print("{:.2f}".format(mopn))
第二章
2.1turtle库(海龟库)
海龟起始坐标为(0,0),前进方向水平向右
turltle.setup(width, height, startx, starty)
#4个参数后两个可选(相对于屏幕的位置),不选则默认在窗口的正中间,setup()不是必须的
width表示画面宽度,height表示画面高度,startx表示画面距离屏幕左侧位置大小,starty表示画面距离屏幕上面位置大小
width与heigh如果是整数,表示像素,小数表示窗口与屏幕的比例
2.1.1空间坐标体系
–1)绝对坐标:和数学中的坐标系(象限)知识相同
–turtle.goto(x,y)
–2)海龟坐标:后退<–>前进;左侧<–>右侧
右方向x轴,上方向y轴
–3)空间坐标体系:
turtle.bk(d)表示向后运动
turtle.fd(d)表示向前运动,或者turtle.forward(d),d可以为负数
burtle.circle(r,angle)表示以左侧某个点为圆心进行曲线运动,r为正在海龟左侧,r为负在海龟右侧,角度不写默认是一个圆
2.1.2turtle角度坐标体系
–1)绝对角度:0/360,90/-270,180/-180,270/-90
–turtle.seth(angle):改变海龟行进方向,angle为绝对度数,只改变方向(改变海龟头朝着的方向)不前进。
–2)海龟角度:turtle.left(angle)与turtle.right(angle)也可
2.1.3RGB色彩体系
–RGB指 红 蓝 绿 组合成所有颜色
–RGB整数值或小数值,默认为小数值,可以改变为整数值
turtle.colormode(mode)
turtle.colormode(1.0)就是小数形式
turtle.colormode(255)就是整数形式
2.2turtle程序语法元素分析
2.2.1库引用和 import
1.import turtle
turtle. 格式:
<库名>.<函数名>(<函数参数>)
或者
2.from 库名 import 函数名
from 库名 import*
函数名(参数)
第一种不会出现与系统自带函数名重名,第二种会,尤其在引用多个库的时候
3.用import 库名 as 库别名
<库别名>.<函数名>(<函数参数>)
尤其对于库名字很长时特别有用
2.2.2画笔控制函数
penup(),pendown(),pensize(),pencolor()
turtle.pendown等价于turtle.pd,turtle.down
turtle.penup等价于turtle.pu,turtle.up
宽度:pensize(width) --> 别名:width(width),width为宽度,不写为默认值
pencolor(color)
颜色字符串pencolor(“purple”)
rgb值(三个小数值,或 一个元组小数值)
pencolor(0.63,0.13,0.94)
pencolor((0.63,0.13,0.94))
2.2.3运动控制函数
fd(),circle(r,extent=None)
–r:默认圆心在海龟正左侧r距离的位置,r为负数就在正右侧
–extent:绘制角度,默认是360度整圆,角度也可以为负数
2.2.4方向控制函数
turtle.setheading(angle) 别名: seth(angle)
turtle.left(),turtle.right()
2.2.5循环结构与range
for 变量 in range(参数)
循环语句
参数相当于循环次数,从0到n-1
print(“a”,1)显示a与1之间有空格
range()是产生循环计数序列的函数
两种用法
range(5)或range(2,5)产生2到4
range(0,10,2)代表指向了0,2,4,6,8这几个值,最后的2代表步长
range
课本例子
●2-1 基本的温度转换程序
#e1.1TempConvert.py
TempStr = input("请输入带有符号的温度值: ")
if TempStr[-1] in ['F','f']:
C = (eval(TempStr[0:-1]) - 32)/1.8
print("转换后的温度是{:.2f}C".format(C))
elif TempStr[-1] in ['C','c']:
F = 1.8*eval(TempStr[0:-1]) + 32
print("转换后的温度是{:.2f}F".format(F))
else:
print("输入格式错误")
●2-2 循环执行的温度转换程序
#e1.2TempConvert.py
TempStr = input("请输入带有符号的温度值: ")
while TempStr[-1] not in ['N','n']:
if TempStr[-1] in ['F','f']:
C = (eval(TempStr[0:-1]) - 32)/1.8
print("转换后的温度是{:.2f}C".format(C))
elif TempStr[-1] in ['C','c']:
F = 1.8*eval(TempStr[0:-1]) + 32
print("转换后的温度是{:.2f}F".format(F))
else:
print("输入格式错误")
TempStr = input("请输入带有符号的温度值: ")
●2-3 函数封装的温度转换程序
#e1.3TempConvert.py
def tempConvert(ValueStr):
if ValueStr[-1] in ['F','f']:
C = (eval(ValueStr[0:-1]) - 32)/1.8
print("转换后的温度是{:.2f}C".format(C))
elif ValueStr[-1] in ['C','c']:
F = 1.8*eval(ValueStr[0:-1]) + 32
print("转换后的温度是{:.2f}F".format(F))
else:
print("输入格式错误")
TempStr = input("请输入带有符号的温度值: ")
tempConvert(TempStr)
●2-4 Python蟒蛇绘制程序
#e2.1DrawPython.py
import turtle
turtle.setup(650, 350, 200, 200)
turtle.penup()
turtle.fd(-250)
turtle.pendown()
turtle.pensize(25)
turtle.pencolor("purple")
turtle.seth(-40)
for i in range(4):
turtle.circle(40, 80)
turtle.circle(-40, 80)
turtle.circle(40, 80
最后
以上就是冷酷百褶裙为你收集整理的《python语言程序设计》笔记的全部内容,希望文章能够帮你解决《python语言程序设计》笔记所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复