Python Notebook 第3周——Python背景知识安装PythonHomework第4周——Python程序的基本语法数字类型字符串类型字符串的序号体系转义字符基本的字符串操作符内置的字符串处理函数内置的字符串处理方法print()函数高阶用法ASCII编码到Unicode编码语法元素函数内置数值运算操作符内置数值运算函数数字类型的转换第5周——课程回顾Homework第6周——Python程序的基本流程控制(1)引入第三方库顺序结构分支结构分支语句嵌套Homework第7周——Python程序的基本流程控制(2)循环结构文件遍历Homework第8周——Python的特征数据类型(1)数据类型序列类型元组列表字符串序列的基本操作Homework第9周——Python的特征数据类型(2)Random库集合类型集合的定义集合类型的操作符集合基本操作函数集合判断成员资格增加元素删除操作字典类型字典定义字典的基本操作创建一个空字典,添加键-值对修改字典中的值访问字典中的值删除键-值对成员资格遍历字典Homework第10周——文件文件地址打开文件编码模式读取文件写入文件jieba库的使用例题——英文词频统计例题——《三国演义》中文词频统计Homework第11周——函数函数模板阅读带函数的代码lambda函数默认值函数随机函数例题——星座运势Homework第12周——面向对象的程序设计面向对象的3个特性类(Class)的构成部分Homework第13周——图形化界面设计(1)根窗体Homework第14周——图形化界面设计(2)Homework第15周——绘图turtle库与基本绘图CanvasHomework

Python Notebook

created by yunTaoScripts©

Email:woshixianren@outlook.com

第3周——Python背景知识

1545532063726

1545532153416

1545532242486

安装Python

1545532532487

 

Homework

第4周——Python程序的基本语法

数字类型

字符串类型

字符串的序号体系

1545534294884

转义字符

基本的字符串操作符

操作符描述
x + y连接两个字符串 x 与 y
x * n 或 n * x复制n次字符串x
x in s如果x是s的子串,返回True,否则返回False
str[i]索引,返回第i个字符
str[N:M]切片,返回索引第N到第M的子串,其中不包含M

内置的字符串处理函数

操作符描述
len(x)返回字符串x的长度
str(x)返回任意类型x所对应的字符串形式
chr(x)返回Unicode编码x对应的单字符
ord(x)返回单字符表示的Unicode

内置的字符串处理方法

方法描述
str.lower()返回字符串str的副本,全部字符小写
str.upper()返回字符串str的副本,全部字符大写
str.islower()当str所有字符都是小写时,返回True,否则False
str. isnumeric()当str所有字符都是数字时,返回True,否则False
str.isspace()当str所有字符都是空格,返回True,否则False
str.endswith(suffix[,start[,end]])str[start: end] 以suffix结尾返回True,否则返回False
str.startswith(prefix[, start[, end]])str[start: end] 以suffix开始返回True,否则返回False
str.split(sep=None, maxsplit=-1)返回一个列表,由str根据sep被分割的部分构成
str.count(sub[,start[,end]])返回str[start: end]中sub子串出现的次数
str.replace(old, new[, count])返回字符串str的副本,所有old子串被替换为new,如果count给出,则前count次old出现被替换
str.center(width[, fillchar])字符串居中函数,详见函数定义
str.strip([chars])返回字符串str的副本,在其左侧和右侧去掉chars中列出的字符
str.format()返回字符串str的一种排版格式,3.6节将详细介绍
str.join(iterable)返回一个新字符串,由组合数据类型(见第6章)iterable变量的每个元素组成,元素间用str分割
str.find(s)搜索指定字符串

print()函数高阶用法

ASCII编码到Unicode编码

语法元素

函数

内置数值运算操作符

操作符描述
x + yx与y之和
x - yx与y之差
x * yx与y之积
x / yx与y之商
x // yx与y之整数商,即:不大于x与y之商的最大整数
x % yx与y之商的余数,也称为模运算
-xx的负值,即:x*(-1)
+xx本身
x**yx的y次幂,即:xy

内置数值运算函数

操作符描述
x + yx与y之和
x - yx与y之差
x * yx与y之积
x / yx与y之商
x // yx与y之整数商,即:不大于x与y之商的最大整数
x % yx与y之商的余数,也称为模运算
-xx的负值,即:x*(-1)
+xx本身
x**yx的y次幂,即:xy

数字类型的转换

函数描述
int(x)将x转换为整数,x可以是浮点数或字符串
float(x)将x转换为浮点数,x可以是整数或字符串
complex(re[, im])生成一个复数,实部为re,虚部为im,re可以是整数、浮点数或字符串,im可以是整数或浮点数但不能为字符串

第5周——课程回顾

Homework

 

第6周——Python程序的基本流程控制(1)

引入第三方库

顺序结构

分支结构

 

1545537448540

分支语句嵌套

Homework

第7周——Python程序的基本流程控制(2)

循环结构

文件遍历

Homework

 

第8周——Python的特征数据类型(1)

数据类型

1545541083498

序列类型

元组

列表

 

字符串

序列的基本操作

  1. 索引 [n]
  2. 切片 [m,n]
  3. 序列相加 +
  4. 序列乘法 *
  5. 成员资格 in
  6. 长度 len
  7. 最大值 max
  8. .最小值 min
  9. 计数 count

 

Homework

第9周——Python的特征数据类型(2)

Random库

 

集合类型

集合的定义

集合类型的操作符

1545545711726

集合基本操作函数

集合判断

成员资格

增加元素

删除操作

字典类型

字典定义

字典的基本操作

创建一个空字典,添加键-值对

修改字典中的值

访问字典中的值

删除键-值对

成员资格

遍历字典

Homework

  1. 随机密码生成
  1. 水果统计
  1. 身份证识别

 

第10周——文件

文件地址

打开文件

模式说明
r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
w打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
rb以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
wb以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
ab以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
r+打开一个文件用于读写。文件指针将会放在文件的开头。
w+打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a+打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
rb+以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
wb+以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
ab+以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

编码模式

读取文件

写入文件

jieba库的使用

函数描述
jieba.cut(s)精确模式,返回一个可迭代的数据类型
jieba.cut(s, cut_all=True)全模式,输出文本s中所有可能单词
jieba.cut_for_search(s)搜索引擎模式,适合搜索引擎建立索引的分词结果
jieba.lcut(s)精确模式,返回一个列表类型,建议使用
jieba.lcut(s, cut_all=True)全模式,返回一个列表类型,建议使用
jieba.lcut_for_search(s)搜索引擎模式,返回一个列表类型,建议使用
jieba.add_word(w)向分词词典中增加新词w

例题——英文词频统计

例题——《三国演义》中文词频统计

Homework

  1. 读入score.txt文件,统计每个年级一共有多少人。
  1. 读入score.txt文件,统计每个年级的平均成绩。
  1. 读入score.txt文件,统计每个班级的不及格人数。

第11周——函数

函数模板

阅读带函数的代码

  1. 调用程序在调用处暂停执行;
  2. 在调用时将实参复制给函数的形参;
  3. 执行函数体语句;
  4. 函数调用结束给出返回值,程序回到调用前的暂停处继续执行。

lambda函数

默认值函数

随机函数

 

例题——星座运势

Homework

  1. 使用函数实现,输入每户每年的用水量,输出总水费

    • 水费计算

      • 上海市市属供排水服务区域的居民用户水价同步实行阶梯水价制度:
      • 第一阶梯水量为每户每年0至220立方米(含),综合水价为3.45元/立方米;
      • 第二阶梯水量为每户每年220至300立方米(含),综合水价为4.83元/立方米;
      • 第三阶梯水量为每户每年300立方米以上的部分,综合水价为5.83元/立方米。
  1. 使用函数实现,按照1美元=6人民币汇率编写一个美元和人民币的双向兑换程序

    • 设计两个函数

      • RMB2Dollar():人民币转美元函数
      • Dollar2RMB():美元转人民币函数
  1. 姓名缘分

    • 输入:你的姓名,恋人姓名
    • 输出:缘分情况
分值缘分情况
[0,60)萍水相逢
[60,70)点赞之交
[70,80)点头之交
[80,90)无话不谈
[90,100)最佳闺蜜
100赶快结婚

第12周——面向对象的程序设计

面向对象的3个特性

类(Class)的构成部分

Homework




第13周——图形化界面设计(1)

根窗体

Homework

  1. 用户登录界面设计

154555506807115455550589931545555047783

  1. 计算器

1545555199063

 

第14周——图形化界面设计(2)

Homework

  1. 收银台

1545555496007

1545555482994

 

  1. 会员卡

1545555926350

1545555888873

第15周——绘图

turtle库与基本绘图

函数描述
pendown()放下画笔
penup()提起画笔,与pendown()配对使用
pensize()设置画笔线条的粗细为指定大小
color()设置画笔的颜色
bgcolor()背景颜色
begin_fill()填充图形前,调用该方法
end_fill()填充图形结束
filling()返回填充的状态,True为填充,False为未填充
clear()清空当前窗口,但不改变当前画笔的位置
reset()清空当前窗口,并重置位置等状态为默认值
screensize()设置画布的长和宽
hideturtle()隐藏画笔的turtle形状
showturtle()显示画笔的turtle形状
isvisible()如果turtle可见,则返回True
write(str,font=None)输出font字体字符串write("Drawn by yunTaoScripts",font=("Times",30,bold))
函数描述
forward()沿着当前方向前进指定距离
backword()沿着当前相反方向后退指定距离
right(angle)向右旋转angle角度
left(angle)向左旋转angle角度
goto(x,y)移动到绝对坐标(x,y)处
setx()将当前x轴移动到指定位置
sety()将当前y轴移动到指定位置
setheading()设置当前朝向为angle角度
home设置当前画笔位置为原点,朝向东。
circle(radius,e)绘制一个指定半径r和角度e的圆或弧形
dot(r,color)绘制一个指定半径r和颜色color的圆点
undo()撤销画笔最后一步动作
speed()设置画笔的绘制速度,参数为0-10之间

Canvas

  1. Canvas坐标系
  1. 创建Canvas画布
  2. 绘图方法

Homework

  1. 使用turtle库中的turtle.fd()函数和turtle.seth()函数绘制一个叠加等边三角形

1546095690890

  1. 利用turtle库绘制一个六角形
  1. 使用tkinter库,创建600*600的画布,以红色实线绘制坐标轴。当a=80,t在-π~π范围内以步长0.01变化时,用蓝色绘制函数图形。效果如图所示

x=a(2 sin⁡ t -sin⁡ 2t)

y=a(2 cos ⁡t-cos⁡ 2t)

1546095846178