第二模块:函数编程 第3章·作业讲解
- 01ATM作业讲解-做作业的步骤
- 02ATM作业讲解-需求分析
- 03ATM作业讲解-画流程图
- 04ATM作业讲解-搭项目架构
- 05ATM作业讲解-用户认证代码讲解
- 06ATM作业讲解-用户认证代码和日志代码
- 07ATM作业讲解-功能分发器代码讲解
- 08ATM作业讲解-查看账户信息代码讲解
- 09ATM作业讲解-取现功能代码讲解
- 10ATM作业讲解-交易中心代码讲解
- 11ATM作业讲解-后续功能思路讲解
- 12员工信息表作业讲解-作业思路解析
- 13员工信息表作业讲解-设计员工表在内存里的数据结构
- 14员工信息表作业讲解-编写解析where语句的方法
- 15员工信息表作业讲解-编写解析where语句条件过滤方法
- 16员工信息表作业讲解-编写解析find语句的方法
- 17员工信息表作业讲解-使打印数据变得好看
- 18员工信息表作业讲解-开发update修改功能
- 19员工信息表作业讲解-开发update修改功能2
- 20员工信息表作业讲解-支持不加where的语句
- 21员工信息表作业讲解-作业总结
01ATM作业讲解-做作业的步骤
1、作业步骤分析;
#!/usr/bin/env python # -*- coding:utf-8 -*- # __Author__:Administrator # Version:python3.6.5 # Date:2018/6/3 0003 23:15 #01ATM作业讲解-做作业的步骤 "" #作业需求如下: """ 额度 15000或自定义 实现购物商城,买东西加入 购物车,调用信用卡接口结账 可以提现,手续费5% 支持多账户登录 支持账户间转账 记录每月日常消费流水 提供还款接口 ATM记录操作日志 提供管理接口,包括添加账户、用户额度,冻结账户等。。。 用户认证用装饰器 """ #解题思路: """ 1、分析功能、需求; 2、真的不着急下手编码,先画出流程图; 3、搭建项目的框架,写软件相当于盖楼,先‘建造’主体框架,再填充具体内容; """
02ATM作业讲解-需求分析
1、项目需求分析;
#!/usr/bin/env python # -*- coding:utf-8 -*- # __Author__:Administrator # Version:python3.6.5 # Date:2018/6/3 0003 23:21 #需求分析过程 "模拟实现一个ATM+购物商城程序" """ 1、额度 15000或自定义; 2、实现购物商城,买东西加入购物车,调用信用卡接口结账; 3、可以提现,手续费为5% 4、实现多账户登录; 5、支持账户间转账; 6、记录每月日常消费流水; 7、提供还款接口; 8、ATM记录操作日志; 9、提供管理接口,包括添加账户、用户额度、冻结账户等; 10、用户认证用装饰器; 1)账户数据的增删改查; 加钱或减钱 2)日志操作; 3)模块间的相互调用; 4)功能的重用(使用函数) """
03ATM作业讲解-画流程图
1、使用Processon在线作图软件;
https://www.processon.com/diagraming/5b140964e4b02e4b26f270c0
04ATM作业讲解-搭项目架构
1、开始搭建项目架构;
05ATM作业讲解-用户认证代码讲解
06ATM作业讲解-用户认证代码和日志代码
07ATM作业讲解-功能分发器代码讲解
08ATM作业讲解-查看账户信息代码讲解
09ATM作业讲解-取现功能代码讲解
10ATM作业讲解-交易中心代码讲解
11ATM作业讲解-后续功能思路讲解
12员工信息表作业讲解-作业思路解析
1、不断去让你做你认为做不到的事情,才会成长!
2、作业的本质——对文件中的内容进行“增删改查”。
13员工信息表作业讲解-设计员工表在内存里的数据结构
1、将数据处理后,放置于字典中;
#!/usr/bin/env python # -*- coding:utf-8 -*- # __Author__:Administrator # Version:python3.6.5 # Date:2018/6/9 0009 8:15 "" """ 现要求你写一个简单的员工信息增删改查程序,需求如下: 1,Alex Li,22,13651054608,IT,2013‐04‐01 2,Jack Wang,28,13451024608,HR,2015‐01‐07 3,Rain Wang,21,13451054608,IT,2017‐04‐01 4,Mack Qiao,44,15653354208,Sales,2016‐02‐01 5,Rachel Chen,23,13351024606,IT,2013‐03‐16 6,Eric Liu,19,18531054602,Marketing,2012‐12‐01 7,Chao Zhang,21,13235324334,Administration,2011‐08‐08 8,Kevin Chen,22,13151054603,Sales,2013‐04‐01 9,Shit Wen,20,13351024602,IT,2017‐07‐03 10,Shanshan Du,26,13698424612,Operation,2017‐07‐02 1.可进行模糊查询,语法至少支持下面3种查询语法: 2.可创建新员工纪录,以phone做唯一键(即不允许表里有手机号重复的情况),staff_id需自增 3.可删除指定员工信息纪录,输入员工id,即可删除 4.可修改员工信息,语法如下: find name,age from staff_table where age > 22 find * from staff_table where dept = "IT" find * from staff_table where enroll_date like "2013" 语法: add staff_table Alex Li,25,134435344,IT,2015‐10‐29 语法: del from staff where id=3 UPDATE staff_table SET dept="Market" WHERE dept = "IT" 把所有dept=IT的纪录的dept改成Market UPDATE staff_table SET age=25 WHERE name = "Alex Li" 把name=Alex Li的纪录的年龄改成25 5.以上每条语名执行完毕后,要显示这条语句影响了多少条纪录。 比如查询语句 就显示 查询出了多少条、 修改语句就显示修改了多少条等。 * 注意:以上需求,要充分使用函数,请尽你的最大限度来减少重复代码!* """ db_file= 'staff.db'#定义数据库文件变量; columns = ['id','name','age','phone','dept','enrolled_date'] def load_db(db_file): """ 加载员工信息表,并转成指定格式; :param db_file: :return: """ data = {}#定义一个空字典; for i in columns: data[i] =[] if columns[-1] in data.keys(): print(data)#{'id': [], 'name': [], 'age': [], 'phone': [], 'dept': [], 'enrolled_date': []} f = open(file=db_file,mode='r',encoding='utf-8') for line in f: staff_id,name,age,phone,dept,enrolled_date = line.split(',') data['id'].append(staff_id) data['name'].append(name) data['age'].append(age) data['phone'].append(phone) data['dept'].append(dept) data['enrolled_date'].append(enrolled_date) print(data) load_db(db_file)#通过函数名调用函数的功能; def syntax_parser(cmd): """ 解析语句,并执行; :param cmd: :return: """ def main(): """ 让用户输入语句并执行; :return: """ while True: cmd = input("[staff_db]:".strip()) if not cmd:continue syntax_parser(cmd)
1,Alex Li,22,13651054608,IT,2013‐04‐01 2,Jack Wang,28,13451024608,HR,2015‐01‐07 3,Rain Wang,21,13451054608,IT,2017‐04‐01 4,Mack Qiao,44,15653354208,Sales,2016‐02‐01 5,Rachel Chen,23,13351024606,IT,2013‐03‐16 6,Eric Liu,19,18531054602,Marketing,2012‐12‐01 7,Chao Zhang,21,13235324334,Administration,2011‐08‐08 8,Kevin Chen,22,13151054603,Sales,2013‐04‐01 9,Shit Wen,20,13351024602,IT,2017‐07‐03 10,Shanshan Du,26,13698424612,Operation,2017‐07‐02
14员工信息表作业讲解-编写解析where语句的方法
1\
15员工信息表作业讲解-编写解析where语句条件过滤方法
16员工信息表作业讲解-编写解析find语句的方法
17员工信息表作业讲解-使打印数据变得好看
18员工信息表作业讲解-开发update修改功能
19员工信息表作业讲解-开发update修改功能2
20员工信息表作业讲解-支持不加where的语句
21员工信息表作业讲解-作业总结
“终身”学习,生活充满诗意!