克隆仓库到本地:
git clone https://github.com/shanchuann/python-learning.git
浏览文件夹,选择感兴趣的主题或项目进行学习和实践,根据学习进度,尝试修改代码或完成练习。
每个单元作为一个章节,包含了详细的 .md 说明文件讲述当前单元的基础知识,并且由其中细分的 .py 文件实现代码运行
学习方式包括但不限于课程,文档,项目,结合 github copilot 完成的这一项储存库
预计后面会加入小项目和一些更贴近工作的知识
- unit 1 初识Python
- unit 2 变量和基础数据类型
- unit 3 运算符
- unit 4 条件判断
- unit 5 循环
- unit 6 组合数据类型
- unit 7 异常处理
- unit 8 函数
- unit 9 模块
- unit 10 文件及IO操作
- unit 11 面向对象程序设计
- unit 12 界面开发
- unit 1 1.1 个人名片(Personal business card)
在控制台提示用户依次输入:姓名、公司、职位、电话、邮箱 按照以下格式输出:
******************************** name: company: title: phone: email ********************************`
- unit 2 2.1 几个苹果(A few apples)
有10个苹果,A 拿走2个,B 拿走 4 个,C 拿走剩下的 问:C 拿走几个苹果, A 和 B 一共拿走几个苹果
- unit 2 2.2 支付宝余额(Alipay balance)
支付宝有 100 元,经过以下操作 存 10 元 取 20 元 全部转出 请在每次操作后输出余额
- unit 3 3.1 分苹果(Divide the apples)
有 14 个苹果,分给 4 个小朋友,分不掉的苹果留下来 请问每个小朋友分几个苹果,还剩几个苹果,分出去的苹果总数
- unit 4 4.1 年龄判断(Age judgment)
输入一个人的年龄,判断这个人年龄是否在 1 - 120 之间
- unit 4 4.2 成绩判断(Performance judgment)
输入两门成绩,有一门大于 60 分就算及格
- unit 4 4.3 闰年判断(Leap year determination)
输入一个年份,判断这个年份是否是闰年 闰年条件:能被4整除但不能被 100 整除,或者能被 400 整除 例如:2000 年是闰年,1900 年不是闰年
- unit 5 5.1 打印星号(Print the star)
打印 m*n 个星号 打印 n 行的字符三角形
- unit 5 5.2 猴子吃桃子(Monkeys eat peaches)
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个 以后每天早上都吃了前一天剩下的一半零一个 到第 10 天早上想再吃时,见只剩下一个桃子了 请问猴子第一天共摘了多少个桃子
- unit 5 5.3 九九乘法表(Nine times nine multiplication table)
输出九九乘法表
1 * 1 = 1
1 * 2 = 2 2 * 2 = 4 ...
- 用户输入用户名和密码,根据用户是否已注册,是否在黑名单中,提示用户登录成功或失败
- 登录功能实现
- 输入用户名和密码
- 登陆验证
- 用户是否已注册
- 密码是否正确
- 是否在黑名单中
- 验证次数限制 --> 3 次
- 数据结构设计
- 保存用户名,密码,黑名单
- 列表
- 字典
-
输入年月日,计算这一天是这一年的第几天
e.g:输入2024-12-31,输出2024年的第366天
- 需求分析
- 支持加减乘除
- 输入不合法时提示用户
- 任务拆解
- 加法运算
- 减法运算
- 乘法运算
- 除法运算
- 异常情况处理
- 数据结构设计
- 储存运算结果
- 代码流程 ( 循环进行 )
- 输入两个数
- 输入 C 退出程序
- 输入运算符
- 加法
- 减法
- 乘法
- 除法
- 异常
- 进行运算
- 输出结果
- 需求分析
- 启动欢迎界面,并显示功能菜单
- 用户选择功能
- 新建名片
- 显示全部
- 查询名片
- 退出系统
- 执行用户选择的功能
- 用户名片需要记录
- 姓名
- 电话
- 邮箱
- 如果查询到名片,可以选择修改或删除
- 任务拆解
- 增: 新建名片,姓名,电话,QQ,邮箱
- 删: 删除名片
- 改: 修改名片
- 查
- 显示全部
- 查询名片:根据什么查询
- 数据结构设计
- 字典
- 列表
- unit 10 代码练习,见 unit 10 File and IO operations/code 10.4 Journal book
- 日记存储在 .py 文件同级目录(./journal.txt)
- 学生
- 姓名,年龄,性别,学号,参与课程
- 显示学生信息
- 老师
- 姓名,年龄,性别,工号,是否是导员,班级列表
- 显示老师信息
- 课程
- 课名,课程号,学分,老师,性质,课程容量
- 显示课程信息
- 班级
- 班级名称,班级号,辅导员,学生列表
- 显示班级信息
- ...
- 见 unit 12 Interface development/code 12.3 Prize drawing apparatus
- 见 unit 12 Interface development/code 12.4 Simple calculator
-
客户端
- Client 类
- 父类:wx.Frame
- 初始化方法
- 实例属性
- 客户名: name
- 连接状态: isConnected
- 套接字: client_socket
- 界面
- wxPython
- 界面设计
- 调用父类初始化模板 个人信息 用户名
- 创建面板
- 创建按钮
- 加入聊天室
- 离开聊天室
- 发送消息
- 清空消息
- 创建文本框
- 聊天窗口: chat_text
- 文本编辑器: input_text
- 绑定事件
- 加入聊天室: connect
- 离开聊天室: disconnect
- 发送消息: send
- 清空消息: reset
- wxPython
- 实例属性
- 事件响应方法
- connect
- 创建 socket 对象
- 连接服务器
- 发送客户信息
- 创建线程接收消息: receive
- disconnect
- 发送断开连接信息
- 设置连接状态: self.isConnected = False
- send
- 获取输入内容
- 发送内容
- 清空输入内容
- reset
- self.input_text.Clear()
- receive
- 接收消息
- 显示消息
- connect
- Client 类
-
服务器
- Server 类
- 父类:wx.Frame
- 初始化方法
- 事件响应方法
- SessionThread 类:父类 threading.Thread
- Server 类