Commit 6411875f authored by jackfrued's avatar jackfrued

更正了部分文档和代码

parent 28067bfe
"""
第一个Python程序 - hello, world!
向伟大的Dennis M. Ritchie先生致敬
......@@ -9,7 +8,6 @@ Date: 2018-02-26
请将该文件命名为hello.py并在终端中通过下面的命令运行它
python hello.py
"""
print('hello, world!')
......
"""
将华氏温度转换为摄氏温度
F = 1.8C + 32
Version: 0.1
Author: 骆昊
Date: 2018-02-27
"""
f = float(input('请输入华氏温度: '))
......
"""
输入半径计算圆的周长和面积
Version: 0.1
Author: 骆昊
Date: 2018-02-27
"""
import math
......
"""
输入年份 如果是闰年输出True 否则输出False
Version: 0.1
Author: 骆昊
Date: 2018-02-27
"""
year = int(input('请输入年份: '))
......
"""
运算符的使用
Version: 0.1
Author: 骆昊
Date: 2018-02-27
"""
a = 5
......
"""
字符串常用操作
Version: 0.1
Author: 骆昊
Date: 2018-02-27
"""
str1 = 'hello, world!'
......
"""
使用变量保存数据并进行操作
Version: 0.1
Author: 骆昊
Date: 2018-02-27
"""
a = 321
......
"""
将input函数输入的数据保存在变量中并进行操作
Version: 0.1
Author: 骆昊
Date: 2018-02-27
"""
a = int(input('a = '))
......
"""
格式化输出
Version: 0.1
Author: 骆昊
Date: 2018-02-27
"""
a = int(input('a = '))
......
"""
检查变量的类型
Version: 0.1
Author: 骆昊
Date: 2018-02-27
"""
a = 100
......
"""
类型转换
Version: 0.1
Author: 骆昊
Date: 2018-02-27
"""
a = 100
......
"""
英制单位英寸和公制单位厘米互换
Version: 0.1
Author: 骆昊
Date: 2018-02-28
"""
value = float(input('请输入长度: '))
......
"""
百分制成绩转等级制成绩
90分以上 --> A
80分~89分 --> B
......@@ -10,7 +9,6 @@
Version: 0.1
Author: 骆昊
Date: 2018-02-28
"""
score = float(input('请输入成绩: '))
......
"""
分段函数求值
3x - 5 (x > 1)
f(x) = x + 2 (-1 <= x <= 1)
......@@ -8,7 +7,6 @@ f(x) = x + 2 (-1 <= x <= 1)
Version: 0.1
Author: 骆昊
Date: 2018-02-28
"""
x = float(input('x = '))
......
"""
掷骰子决定做什么事情
Version: 0.1
Author: 骆昊
Date: 2018-02-28
"""
from random import randint
......
"""
输入月收入和五险一金计算个人所得税
说明:写这段代码时新的个人所得税计算方式还没有颁布
Version: 0.1
Author: 骆昊
Date: 2018-02-28
"""
salary = float(input('本月收入: '))
......
"""
判断输入的边长能否构成三角形
如果能则计算出三角形的周长和面积
Version: 0.1
Author: 骆昊
Date: 2018-02-28
"""
import math
......
"""
用户身份验证
Version: 0.1
Author: 骆昊
Date: 2018-02-28
"""
# import getpass
......
"""
用for循环实现1~100求和
Version: 0.1
Author: 骆昊
Date: 2018-03-01
"""
sum = 0
......
"""
用for循环实现1~100之间的偶数求和
Version: 0.1
Author: 骆昊
Date: 2018-03-01
"""
sum = 0
......
"""
输入非负整数n计算n!
Version: 0.1
Author: 骆昊
Date: 2018-03-01
"""
n = int(input('n = '))
......
"""
输入一个正整数判断它是不是素数
Version: 0.1
Author: 骆昊
Date: 2018-03-01
"""
from math import sqrt
......
"""
输入两个正整数计算最大公约数和最小公倍数
Version: 0.1
Author: 骆昊
Date: 2018-03-01
"""
x = int(input('x = '))
......
"""
打印各种三角形图案
*
......@@ -23,7 +22,6 @@
Version: 0.1
Author: 骆昊
Date: 2018-03-01
"""
row = int(input('请输入行数: '))
......
"""
用while循环实现1~100求和
Version: 0.1
Author: 骆昊
Date: 2018-03-01
"""
sum = 0
......
"""
用while循环实现1~100之间的偶数求和
Version: 0.1
Author: 骆昊
Date: 2018-03-01
"""
sum = 0
......
"""
求解《百钱百鸡》问题
1只公鸡5元 1只母鸡3元 3只小鸡1元 用100元买100只鸡
问公鸡 母鸡 小鸡各有多少只
......@@ -7,7 +6,6 @@
Version: 0.1
Author: 骆昊
Date: 2018-03-02
"""
for x in range(0, 20):
......
"""
Craps赌博游戏
玩家摇两颗色子 如果第一次摇出7点或11点 玩家胜
如果摇出2点 3点 12点 庄家胜 其他情况游戏继续
......@@ -11,7 +10,6 @@ Craps赌博游戏
Version: 0.1
Author: 骆昊
Date: 2018-03-02
"""
from random import randint
......
"""
输出斐波那契数列的前20个数
1 1 2 3 5 8 13 21 ...
Version: 0.1
Author: 骆昊
Date: 2018-03-02
"""
a = 0
......
"""
猜数字游戏
计算机出一个1~100之间的随机数由人来猜
计算机根据人猜的数字分别给出提示大一点/小一点/猜对了
......@@ -7,7 +6,6 @@
Version: 0.1
Author: 骆昊
Date: 2018-03-02
"""
import random
......
"""
找出100~999之间的所有水仙花数
水仙花数是各位立方和等于这个数本身的数
如: 153 = 1**3 + 5**3 + 3**3
......@@ -7,7 +6,6 @@
Version: 0.1
Author: 骆昊
Date: 2018-03-02
"""
for num in range(100, 1000):
......
"""
判断输入的正整数是不是回文数
回文数是指将一个正整数从左往右排列和从右往左排列值一样的数
Version: 0.1
Author: 骆昊
Date: 2018-03-02
"""
num = int(input('请输入一个正整数: '))
......
"""
找出1~9999之间的所有完美数
完美数是除自身外其他所有因子的和正好等于这个数本身的数
例如: 6 = 1 + 2 + 3, 28 = 1 + 2 + 4 + 7 + 14
......@@ -7,7 +6,6 @@
Version: 0.1
Author: 骆昊
Date: 2018-03-02
"""
import time
import math
......
"""
输出2~99之间的素数
Version: 0.1
Author: 骆昊
Date: 2018-03-02
"""
import math
......
"""
输出乘法口诀表(九九表)
Version: 0.1
Author: 骆昊
Date: 2018-03-02
"""
for i in range(1, 10):
......
"""
函数的定义和使用 - 计算组合数C(7,3)
Version: 0.1
Author: 骆昊
Date: 2018-03-05
"""
......
"""
函数的定义和使用 - 求最大公约数和最小公倍数
Version: 0.1
Author: 骆昊
Date: 2018-03-05
"""
......
"""
Python的内置函数
- 数学相关: abs / divmod / pow / round / min / max / sum
- 序列相关: len / range / next / filter / map / sorted / slice / reversed
- 类型转换: chr / ord / str / bool / int / float / complex / bin / oct / hex
- 数据结构: dict / list / set / tuple
- 其他函数: all / any / id / input / open / print / type
- 数学相关: abs / divmod / pow / round / min / max / sum
- 序列相关: len / range / next / filter / map / sorted / slice / reversed
- 类型转换: chr / ord / str / bool / int / float / complex / bin / oct / hex
- 数据结构: dict / list / set / tuple
- 其他函数: all / any / id / input / open / print / type
Version: 0.1
Author: 骆昊
Date: 2018-03-05
"""
......
"""
Python常用模块
- 运行时服务相关模块: copy / pickle / sys / ...
- 数学相关模块: decimal / math / random / ...
- 字符串处理模块: codecs / re / ...
- 文件处理相关模块: shutil / gzip / ...
- 操作系统服务相关模块: datetime / os / time / logging / io / ...
- 进程和线程相关模块: multiprocessing / threading / queue
- 网络应用相关模块: ftplib / http / smtplib / urllib / ...
- Web编程相关模块: cgi / webbrowser
- 数据处理和编码模块: base64 / csv / html.parser / json / xml / ...
- 运行时服务相关模块: copy / pickle / sys / ...
- 数学相关模块: decimal / math / random / ...
- 字符串处理模块: codecs / re / ...
- 文件处理相关模块: shutil / gzip / ...
- 操作系统服务相关模块: datetime / os / time / logging / io / ...
- 进程和线程相关模块: multiprocessing / threading / queue
- 网络应用相关模块: ftplib / http / smtplib / urllib / ...
- Web编程相关模块: cgi / webbrowser
- 数据处理和编码模块: base64 / csv / html.parser / json / xml / ...
Version: 0.1
Author: 骆昊
Date: 2018-03-05
"""
import time
......
"""
函数的参数
- 默认参数
- 可变参数
- 关键字参数
- 命名关键字参数
- 位置参数
- 可变参数
- 关键字参数
- 命名关键字参数
Version: 0.1
Author: 骆昊
Date: 2018-03-05
"""
......
"""
作用域问题
Version: 0.1
Author: 骆昊
Date: 2018-03-05
"""
......
......@@ -350,4 +350,3 @@ def main():
if __name__ == '__main__':
main()
```
"""
输入学生考试成绩计算平均分
Version: 0.1
Author: 骆昊
Date: 2018-03-06
"""
......
"""
定义和使用字典
Version: 0.1
Author: 骆昊
Date: 2018-03-06
"""
......
"""
字典的常用操作
Version: 0.1
Author: 骆昊
Date: 2018-03-06
"""
......
"""
生成斐波拉切数列
Version: 0.1
Author: 骆昊
Date: 2018-03-06
"""
......
"""
找出列表中最大或最小的元素
Version: 0.1
Author: 骆昊
Date: 2018-03-06
"""
......
"""
定义和使用列表
- 用下标访问元素
- 添加元素
- 删除元素
- 用下标访问元素
- 添加元素
- 删除元素
Version: 0.1
Author: 骆昊
Date: 2018-03-06
"""
......
"""
列表常用操作
- 列表连接
- 获取长度
- 遍历列表
- 列表切片
- 列表排序
- 列表反转
- 查找元素
- 列表连接
- 获取长度
- 遍历列表
- 列表切片
- 列表排序
- 列表反转
- 查找元素
Version: 0.1
Author: 骆昊
Date: 2018-03-06
"""
......
"""
生成列表
- 用range创建数字列表
- 生成表达式
- 生成器
- 用range创建数字列表
- 生成表达式
- 生成器
Version: 0.1
Author: 骆昊
Date: 2018-03-06
"""
......
"""
双色球随机选号程序
Version: 0.1
Author: 骆昊
Date: 2018-03-06
"""
from random import randrange, randint, sample
......
"""
输入学生考试成绩计算平均分
Version: 0.1
Author: 骆昊
Date: 2018-03-06
"""
import os
......
"""
学生考试成绩表
Version: 0.1
Author: 骆昊
Date: 2018-03-06
"""
......
"""
定义和使用集合
Version: 0.1
Author: 骆昊
Date: 2018-03-06
"""
......
"""
集合的常用操作
- 交集
- 并集
- 差集
- 子集
- 超集
- 交集
- 并集
- 差集
- 子集
- 超集
Version: 0.1
Author: 骆昊
Date: 2018-03-06
"""
......
"""
井字棋游戏
Version: 0.1
Author: 骆昊
Date: 2018-03-06
"""
import os
......
"""
元组的定义和使用
Version: 0.1
Author: 骆昊
Date: 2018-03-06
"""
......
"""
输出10行的杨辉三角 - 二项式的n次方展开系数
1
1 1
......@@ -12,7 +11,6 @@
Version: 0.1
Author: 骆昊
Date: 2018-03-06
"""
......
"""
练习
修一个游泳池 半径(以米为单位)在程序运行时输入 游泳池外修一条3米宽的过道
过道的外侧修一圈围墙 已知过道的造价为25元每平米 围墙的造价为32.5元每米
......@@ -8,7 +7,6 @@
Version: 0.1
Author: 骆昊
Date: 2018-03-08
"""
import math
......
"""
定义和使用时钟类
Version: 0.1
Author: 骆昊
Date: 2018-03-08
"""
import time
......
"""
面向对象版本的猜数字游戏
Version: 0.1
Author: 骆昊
Date: 2018-03-08
"""
from random import randint
......
"""
另一种创建类的方式
Version: 0.1
Author: 骆昊
Date: 2018-03-08
"""
......
"""
定义和使用矩形类
Version: 0.1
Author: 骆昊
Date: 2018-03-08
"""
......
"""
定义和使用学生类
Version: 0.1
Author: 骆昊
Date: 2018-03-08
"""
......
"""
对象之间的关联关系
Version: 0.1
Author: 骆昊
Date: 2018-03-12
"""
from math import sqrt
......
"""
属性的使用
- 访问器/修改器/删除器
- 使用__slots__对属性加以限制
- 访问器/修改器/删除器
- 使用__slots__对属性加以限制
Version: 0.1
Author: 骆昊
Date: 2018-03-12
"""
......
"""
属性的使用
- 使用已有方法定义访问器/修改器/删除器
- 使用已有方法定义访问器/修改器/删除器
Version: 0.1
Author: 骆昊
Date: 2018-03-12
"""
......
"""
对象之间的依赖关系和运算符重载
Version: 0.1
Author: 骆昊
Date: 2018-03-12
"""
......
"""
多重继承
- 菱形继承(钻石继承)
- C3算法(替代DFS的算法)
- 菱形继承(钻石继承)
- C3算法(替代DFS的算法)
Version: 0.1
Author: 骆昊
Date: 2018-03-12
"""
......
"""
抽象类 / 方法重写 / 多态
实现一个工资结算系统 公司有三种类型的员工
- 部门经理固定月薪12000元/月
- 程序员按本月工作小时数每小时100元
- 销售员1500元/月的底薪加上本月销售额5%的提成
- 部门经理固定月薪12000元/月
- 程序员按本月工作小时数每小时100元
- 销售员1500元/月的底薪加上本月销售额5%的提成
输入员工的信息 输出每位员工的月薪信息
Version: 0.1
Author: 骆昊
Date: 2018-03-12
"""
from abc import ABCMeta, abstractmethod
......
"""
多重继承
- 通过多重继承可以给一个类的对象具备多方面的能力
- 这样在设计类的时候可以避免设计太多层次的复杂的继承关系
- 通过多重继承可以给一个类的对象具备多方面的能力
- 这样在设计类的时候可以避免设计太多层次的复杂的继承关系
Version: 0.1
Author: 骆昊
Date: 2018-03-12
"""
......
"""
运算符重载 - 自定义分数类
Version: 0.1
Author: 骆昊
Date: 2018-03-12
"""
from math import gcd
......
"""
继承的应用
- 抽象类
- 抽象方法
- 方法重写
- 多态
- 抽象类
- 抽象方法
- 方法重写
- 多态
Version: 0.1
Author: 骆昊
Date: 2018-03-12
"""
from abc import ABCMeta, abstractmethod
......
"""
实例方法和类方法的应用
Version: 0.1
Author: 骆昊
Date: 2018-03-12
"""
from math import sqrt
......
"""
使用tkinter创建GUI
- 顶层窗口
- 控件
- 布局
- 事件回调
- 顶层窗口
- 控件
- 布局
- 事件回调
Version: 0.1
Author: 骆昊
Date: 2018-03-14
"""
import tkinter
......
"""
使用tkinter创建GUI
- 使用画布绘图
- 处理鼠标事件
- 使用画布绘图
- 处理鼠标事件
Version: 0.1
Author: 骆昊
Date: 2018-03-14
"""
import tkinter
......
"""
使用tkinter创建GUI
- 在窗口上制作动画
- 在窗口上制作动画
Version: 0.1
Author: 骆昊
......
"""
读取CSV文件
Version: 0.1
Author: 骆昊
Date: 2018-03-13
"""
import csv
......
"""
写入CSV文件
Version: 0.1
Author: 骆昊
Date: 2018-03-13
"""
import csv
......
"""
异常机制 - 处理程序在运行时可能发生的状态
Version: 0.1
Author: 骆昊
Date: 2018-03-13
"""
input_again = True
......
"""
异常机制 - 处理程序在运行时可能发生的状态
Version: 0.1
Author: 骆昊
Date: 2018-03-13
"""
input_again = True
......
"""
异常机制 - 处理程序在运行时可能发生的状态
Version: 0.1
Author: 骆昊
Date: 2018-03-13
"""
import time
......
"""
引发异常和异常栈
Version: 0.1
Author: 骆昊
Date: 2018-03-13
"""
......
"""
从文本文件中读取数据
Version: 0.1
Author: 骆昊
Date: 2018-03-13
"""
import time
......
"""
读取圆周率文件判断其中是否包含自己的生日
Version: 0.1
Author: 骆昊
Date: 2018-03-13
"""
birth = input('请输入你的生日: ')
......
"""
写文本文件
将100以内的素数写入到文件中
Version: 0.1
Author: 骆昊
Date: 2018-03-13
"""
from math import sqrt
......
"""
读写二进制文件
Version: 0.1
Author: 骆昊
Date: 2018-03-13
"""
import base64
with open('mm.jpg', 'rb') as f:
......
"""
读取JSON数据
Version: 0.1
Author: 骆昊
Date: 2018-03-13
"""
import json
......
"""
写入JSON文件
Version: 0.1
Author: 骆昊
Date: 2018-03-13
"""
import json
......
......@@ -5,3 +5,28 @@
我如果爱你
绝不学痴情的鸟儿
为绿荫重复单调的歌曲
也不止像泉源
常年送来清凉的慰藉
也不止像险峰
增加你的高度 衬托你的威仪
甚至日光 甚至春雨
不 这些都还不够
我必须是你近旁的一株木棉
作为树的形象和你站在一起
根 紧握在地下
叶 相触在云里
每一阵风过
我们都互相致意
但没有人 听懂我们的言语
你有你的铜枝铁干
像刀 像剑 也像戟;
我有我红硕的花朵
像沉重的叹息 又像英勇的火炬
我们分担寒潮、风雷、霹雳
我们共享雾霭、流岚、虹霓
仿佛永远分离 却又终身相依
这才是伟大的爱情
坚贞就在这里
爱 不仅爱你伟岸的身躯
也爱你坚持的位置 足下的土地
\ No newline at end of file
"""
字符串常用操作
Version: 0.1
Author: 骆昊
Date: 2018-03-19
"""
import pyperclip
......
"""
字符串常用操作 - 实现字符串倒转的方法
Version: 0.1
Author: 骆昊
Date: 2018-03-19
"""
from io import StringIO
......@@ -59,4 +57,3 @@ if __name__ == '__main__':
print(str)
print(reverse_str5(str))
print(str)
# 提醒学生注意这是一个面试题: 写出你能想到的实现字符串倒转的代码
"""
验证输入用户名和QQ号是否有效并给出对应的提示信息
要求:
用户名必须由字母、数字或下划线构成且长度在6~20个字符之间
QQ号是5~12的数字且首位不能为0
"""
import re
......@@ -26,4 +24,3 @@ def main():
if __name__ == '__main__':
main()
"""
不良内容过滤
"""
import re
def main():
sentence = '你丫是傻叉吗? 我操你大爷的. Fuck you.'
purified = re.sub('[操肏艹草曹]|fuck|shit|傻[比屄逼叉缺吊屌]|煞笔',
purified = re.sub('[操肏艹]|fuck|shit|傻[比屄逼叉缺吊屌]|煞笔',
'*', sentence, flags=re.IGNORECASE)
print(purified)
......
"""
异步I/O操作 - asyncio模块
Version: 0.1
Author: 骆昊
Date: 2018-03-21
"""
import asyncio
......
"""
异步I/O操作 - async和await
Version: 0.1
Author: 骆昊
Date: 2018-03-21
"""
import asyncio
import threading
......
"""
异步I/O操作 - asyncio模块
Version: 0.1
Author: 骆昊
Date: 2018-03-21
"""
import asyncio
......
"""
使用协程 - 模拟快递中心派发快递
Version: 0.1
Author: 骆昊
Date: 2018-03-21
"""
from time import sleep
......
"""
使用协程 - 查看协程的状态
Version: 0.1
Author: 骆昊
Date: 2018-03-21
"""
from time import sleep
......
"""
生成器 - 生成器语法
Version: 0.1
Author: 骆昊
Date: 2018-03-21
"""
seq = [x * x for x in range(10)]
......
"""
生成器 - 使用yield关键字
Version: 0.1
Author: 骆昊
Date: 2018-03-21
"""
......
"""
使用Process类创建多个进程
Version: 0.1
Author: 骆昊
Date: 2018-03-20
"""
# 通过下面程序的执行结果可以证实 父进程在创建子进程时复制了进程及其数据结构
......
"""
实现进程间的通信
Version: 0.1
Author: 骆昊
Date: 2018-03-20
"""
import multiprocessing
import os
......
"""
创建进程调用其他程序
Version: 0.1
Author: 骆昊
Date: 2018-03-20
"""
import subprocess
......
"""
使用多线程的情况 - 模拟多个下载任务
Version: 0.1
Author: 骆昊
Date: 2018-03-20
"""
from random import randint
......
"""
使用多线程的情况 - 模拟多个下载任务
Version: 0.1
Author: 骆昊
Date: 2018-03-20
"""
from random import randint
......
"""
使用多线程的情况 - 模拟多个下载任务
Version: 0.1
Author: 骆昊
Date: 2018-03-20
"""
from random import randint
......
"""
使用多线程的情况 - 耗时间的任务在独立的线程中执行
Version: 0.1
Author: 骆昊
Date: 2018-03-20
"""
import time
......
"""
多个线程共享数据 - 没有锁的情况
Version: 0.1
Author: 骆昊
Date: 2018-03-20
"""
from time import sleep
......
"""
多个线程共享数据 - 有锁的情况
Version: 0.1
Author: 骆昊
Date: 2018-03-20
"""
import time
......
"""
不使用多线程的情况 - 模拟多个下载任务
Version: 0.1
Author: 骆昊
Date: 2018-03-20
"""
from random import randint
......
"""
不使用多线程的情况 - 耗时间的任务阻塞主事件循环
Version: 0.1
Author: 骆昊
Date: 2018-03-20
"""
import time
......
"""
套接字 - 基于TCP协议创建时间服务器
Version: 0.1
Author: 骆昊
Date: 2018-03-22
"""
from socket import *
......
"""
套接字 - 基于TCP协议创建时间客户端
Version: 0.1
Author: 骆昊
Date: 2018-03-22
"""
from socket import *
......
"""
套接字 - 基于UDP协议Echo服务器
Version: 0.1
Author: 骆昊
Date: 2018-03-22
"""
from socket import *
from time import *
......
"""
套接字 - 基于UDP协议创建Echo客户端
Version: 0.1
Author: 骆昊
Date: 2018-03-22
"""
from socket import *
......
"""
使用socketserver模块创建时间服务器
Version: 0.1
Author: 骆昊
Date: 2018-03-22
"""
from socketserver import TCPServer, StreamRequestHandler
from time import *
......
"""
创建Excel文件
Version: 0.1
Author: 骆昊
Date: 2018-03-26
"""
from openpyxl import Workbook
from openpyxl.worksheet.table import Table, TableStyleInfo
......
"""
读取Excel文件
Version: 0.1
Author: 骆昊
Date: 2018-03-26
"""
from openpyxl import load_workbook
......
"""
创建PDF文件
Version: 0.1
Author: 骆昊
Date: 2018-03-26
"""
\ No newline at end of file
import PyPDF2
"""
读取PDF文件
Version: 0.1
Author: 骆昊
Date: 2018-03-26
"""
from PyPDF2 import PdfFileReader
......
"""
使用pillow操作图像
Version: 0.1
Author: 骆昊
Date: 2018-03-26
"""
from PIL import Image
img = Image.open('./res/guido.jpg')
......
"""
创建Word文件
Version: 0.1
Author: 骆昊
Date: 2018-03-26
"""
\ No newline at end of file
"""
读取Word文件
Version: 0.1
Author: 骆昊
Date: 2018-03-26
"""
from docx import Document
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment