python3学生名片管理v2.0版


Posted in Python onNovember 29, 2018

python学生名片管理vv2.0是在1.0的基础上增加部分功能,实现将数据存入文件保存,以便于程序停止后还能再次取到数据。具体实现请看如下部分:

card_main.py

import sys
from One.card_func2 import *

def head():
 print('*' * 30)
 print('学生信息管理系统v2.0')
 print('1.添加学生\t2.显示所有\t3.查询学生\t0.退出系统')
 print('*' * 30)


def main():
 while True:
 head()
 num = input('输入操作:')
 if num == '1':
  print('选择功能添加学生')
  add_card()
 elif num == '2':
  print('选择功能添显示所有')
  show_all()
 elif num == '3':
  print('选择功能查询学生')
  search_card()
 elif num == '0':
  sys.exit()
 else:
  print('输入有误,命令无效')


if __name__ == '__main__':
 main()

card_func2.py

import json
import time

stutent_list = []

def add_card():
 name = input('请输入姓名:')
 age = input('请输入年龄:')
 qq = input('请输入QQ:')
 mail = input('请输入邮箱:')
 dict = {}
 dict['name'] = name
 dict['age'] = age
 dict['qq'] = qq
 dict['mail'] = mail
 stutent_list.append(dict)
 memory(stutent_list)

def memory(stutent_list): # 将数据存入文件
 with open('student.json', 'w') as f:
 for i in stutent_list:
  json_i = json.dumps(i)
  f.write(json_i+'\n')
 f.close()


def repick(): # 从文件中去除数据
 risk_result = []
 with open('student.json', 'r') as f:
 risk_new_list = f.read().split('\n')[:-1]
 for x in risk_new_list:
  json_x = json.loads(x)
  risk_result.append(json_x)
 f.close()
 return risk_result


def show_all():
 global stutent_list
 stutent_list = repick()
 table_head()
 for dict in stutent_list:
 print('-' * 32)
 print('| %s\t|\t%s\t|\t%s\t|\t%s\t|' % (dict['name'], dict['age'], dict['qq'], dict['mail']))



def search_card():
 global stutent_list
 name = input('请输入查找学生的姓名:')
 for dict in stutent_list:
 if dict['name'] == name:
  table_head()
  print('-' * 32)
  print('| %s\t|\t%s\t|\t%s\t|\t%s\t|' % (dict['name'], dict['age'], dict['qq'], dict['mail']))
  print('您可以执行操作:1.删除\t2.修改\t3.返回上一级')
  deal_card(dict)
  break
 else:
 print('查无此人!!!')


def table_head():
 print('_' * 32)
 print('| 姓名\t|\t年龄\t|\tQQ\t|\t邮箱\t|')


def deal_card(dict):
 order = input('请输入命令:')
 while True:
 if order == '1':
  delete_card(dict)
  break
 elif order == '2':
  modify_card(dict)
  break
 elif order == '3':
  break
 else:
  print('输入有误,命令无效')

def delete_card(dict):
 print('执行命令,删除数据')
 stutent_list.remove(dict)
 print('...正在删除,请等待...')
 turnTime()
 print('删除成功,返回主界面')


def modify_card(dict):
 print('执行命令,修改数据')
 dict['name'] = input('请输入姓名:')
 dict['age'] = input('请输入年龄:')
 dict['qq'] = input('请输入QQ:')
 dict['mail'] = input('请输入邮箱:')
 print('...正在修改,请等待...')
 turnTime()
 print('修改成功,返回主界面')


def turnTime():
 for i in list(range(5, 0, -1)):
 print(i, 's')
 time.sleep(1)

以下部分为控制台效果截图:

python3学生名片管理v2.0版

2.查询

python3学生名片管理v2.0版

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中函数参数设置及使用的学习笔记
May 03 Python
深入理解NumPy简明教程---数组3(组合)
Dec 17 Python
Python中input与raw_input 之间的比较
Aug 20 Python
Django代码性能优化与Pycharm Profile使用详解
Aug 26 Python
python实现微信定时每天和女友发送消息
Apr 29 Python
django-rest-framework解析请求参数过程详解
Jul 18 Python
使用pycharm在本地开发并实时同步到服务器
Aug 02 Python
python读取word 中指定位置的表格及表格数据
Oct 23 Python
Python列表list操作相关知识小结
Jan 29 Python
python lambda函数及三个常用的高阶函数
Feb 05 Python
vscode+PyQt5安装详解步骤
Aug 12 Python
linux mint中搜狗输入法导致pycharm卡死的问题
Oct 28 Python
python实现名片管理系统
Nov 29 #Python
Python中利用aiohttp制作异步爬虫及简单应用
Nov 29 #Python
Python中logging.NullHandler 的使用教程
Nov 29 #Python
Mac下Anaconda的安装和使用教程
Nov 29 #Python
windows7 32、64位下python爬虫框架scrapy环境的搭建方法
Nov 29 #Python
解决pycharm py文件运行后停止按钮变成了灰色的问题
Nov 29 #Python
pycharm debug功能实现跳到循环末尾的方法
Nov 29 #Python
You might like
详解PHP字符串替换str_replace()函数四种用法
2017/10/13 PHP
自己动手开发jQuery插件教程
2011/08/25 Javascript
javascript 禁用IE工具栏,导航栏等等实现代码
2013/04/01 Javascript
jquery插件开发注意事项小结
2013/06/04 Javascript
js冒泡法和数组转换成字符串示例代码
2013/08/14 Javascript
JS获取当前网址、主机地址项目根路径
2013/11/19 Javascript
javascript判断chrome浏览器的方法
2014/03/26 Javascript
jQuery中toggleClass()方法用法实例
2015/01/05 Javascript
javascript元素动态创建实现方法
2015/05/13 Javascript
JavaScript实现广告的关闭与显示效果实例
2015/07/02 Javascript
jQuery实现多级下拉菜单jDropMenu的方法
2015/08/28 Javascript
jQuery通过ajax快速批量提交表单数据
2016/10/25 Javascript
JavaScript中常用的简洁高级技巧总结
2019/03/10 Javascript
vue实现带复选框的树形菜单
2019/05/27 Javascript
JS实现的简单tab切换功能完整示例
2019/06/20 Javascript
countUp.js实现数字动态变化效果
2019/10/17 Javascript
python处理圆角图片、圆形图片的例子
2014/04/25 Python
python绘制铅球的运行轨迹代码分享
2017/11/14 Python
python使用matplotlib绘制热图
2018/11/07 Python
django框架实现一次性上传多个文件功能示例【批量上传】
2019/06/19 Python
Python如何实现爬取B站视频
2020/05/20 Python
浅谈pytorch中torch.max和F.softmax函数的维度解释
2020/06/28 Python
Python爬虫基于lxml解决数据编码乱码问题
2020/07/31 Python
幼师自荐信范文
2013/10/06 职场文书
商务英语专业应届毕业生求职信
2013/10/28 职场文书
高中自我鉴定范文
2013/11/03 职场文书
电子商务专业个人的自我评价
2013/11/19 职场文书
施工人员岗位职责
2013/12/12 职场文书
教育课题研究自我鉴定范文
2013/12/28 职场文书
幼儿园教师备课制度
2014/01/12 职场文书
《老王》教学反思
2014/02/23 职场文书
促销活动计划书
2014/05/02 职场文书
2015年维修电工工作总结
2015/04/25 职场文书
百年校庆宣传标语口号
2015/12/26 职场文书
vue+elementui 实现新增和修改共用一个弹框的完整代码
2021/06/08 Vue.js
详解NodeJS模块化
2021/06/15 NodeJs