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中的引用和拷贝浅析
Nov 22 Python
python实现批量改文件名称的方法
May 25 Python
apache部署python程序出现503错误的解决方法
Jul 24 Python
python交互式图形编程实例(一)
Nov 17 Python
Python语言描述最大连续子序列和
Dec 05 Python
python自动查询12306余票并发送邮箱提醒脚本
May 21 Python
python3基于TCP实现CS架构文件传输
Jul 28 Python
Python中的集合介绍
Jan 28 Python
使用python的pexpect模块,实现远程免密登录的示例
Feb 14 Python
Python warning警告出现的原因及忽略方法
Jan 31 Python
Python实现汇率转换操作
May 03 Python
如何通过一篇文章了解Python中的生成器
Apr 02 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
dedecms防止FCK乱格式化你的代码的修改方法
2007/03/17 PHP
基于ubuntu下nginx+php+mysql安装配置的具体操作步骤
2013/04/28 PHP
php实现的太平洋时间和北京时间互转的自定义函数分享
2014/08/19 PHP
PHP防止图片盗用(盗链)的方法小结
2016/11/11 PHP
PHP实现负载均衡session共享redis缓存操作示例
2018/08/22 PHP
Mootools 1.2教程 输入过滤第一部分(数字)
2009/09/15 Javascript
javascript 终止函数执行操作
2014/02/14 Javascript
基于Fixed定位的框选功能的实现代码
2019/05/13 Javascript
Vue CLI项目 axios模块前后端交互的使用(类似ajax提交)
2019/09/01 Javascript
vue实现表格过滤功能
2019/09/27 Javascript
python字符串替换示例
2014/04/24 Python
Windows下安装python2.7及科学计算套装
2015/03/05 Python
Python实现队列的方法
2015/05/26 Python
Python使用urllib2模块实现断点续传下载的方法
2015/06/17 Python
利用Python为iOS10生成图标和截屏
2016/09/24 Python
python3使用requests模块爬取页面内容的实战演练
2017/09/25 Python
python生成1行四列全2矩阵的方法
2018/08/04 Python
基于Python实现迪杰斯特拉和弗洛伊德算法
2020/05/27 Python
python随机在一张图像上截取任意大小图片的方法
2019/01/24 Python
python字典改变value值方法总结
2019/06/21 Python
Python代码使用 Pyftpdlib实现FTP服务器功能
2019/07/22 Python
Django框架HttpRequest对象用法实例分析
2019/11/01 Python
Python3和pyqt5实现控件数据动态显示方式
2019/12/13 Python
python判断元素是否存在的实例方法
2020/09/24 Python
HTML5在IE10、火狐下中文乱码问题的解决方法
2013/11/18 HTML / CSS
美国尼曼百货官网:Neiman Marcus
2019/09/05 全球购物
提高EJB性能都有哪些技巧
2012/03/25 面试题
工商管理专业学生的自我评价
2013/10/01 职场文书
教师师德教育的自我评价
2013/10/31 职场文书
春风行动实施方案
2014/03/28 职场文书
外贸会计专业自荐信
2014/06/22 职场文书
廉洁自律承诺书范文
2015/04/28 职场文书
南阳市白酒市场的调查报告
2019/11/08 职场文书
2019年关于小学生课外阅读情况的分析报告
2019/12/02 职场文书
CSS实现漂亮的时钟动画效果的实例代码
2021/03/30 HTML / CSS
详解Mysql事务并发(脏读、不可重复读、幻读)
2022/04/29 MySQL