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根据经纬度计算距离示例
Feb 16 Python
探究python中open函数的使用
Mar 01 Python
使用python 和 lint 删除项目无用资源的方法
Dec 20 Python
pandas.loc 选取指定列进行操作的实例
May 18 Python
Python 一句话生成字母表的方法
Jan 02 Python
python利用小波分析进行特征提取的实例
Jan 09 Python
详解python中*号的用法
Oct 21 Python
在django中自定义字段Field详解
Dec 03 Python
python隐藏类中属性的3种实现方法
Dec 19 Python
使用Python第三方库pygame写个贪吃蛇小游戏
Mar 06 Python
Python+redis通过限流保护高并发系统
Apr 15 Python
五分钟学会怎么用Pygame做一个简单的贪吃蛇
Jan 06 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
《DOTA3》开发工作已经开始 《DOTA3》将代替《DOTA2》
2021/03/06 DOTA
PHP+Mysql+Ajax实现淘宝客服或阿里旺旺聊天功能(前台页面)
2017/06/16 PHP
javascript XML数据显示为HTML一例
2008/12/23 Javascript
javascript void(0)的妙用
2009/10/21 Javascript
Jquery乱码的一次解决过程 图解教程
2010/02/20 Javascript
js与运算符和或运算符的妙用
2014/02/14 Javascript
jquery 显示*天*时*分*秒实现时间计时器
2014/05/07 Javascript
JavaScript对Cookie进行读写操作实例
2015/07/25 Javascript
动态加载JavaScript文件的两种方法
2016/04/22 Javascript
详解Javascript中prototype属性(推荐)
2016/09/03 Javascript
ajax分页效果(bootstrap模态框)
2017/01/23 Javascript
基于canvas的二维码邀请函生成插件
2017/02/14 Javascript
javascript中new Array()和var arr=[]用法区别
2017/12/01 Javascript
swiper Scrollbar滚动条组件详解
2019/09/08 Javascript
VSCode 配置uni-app的方法
2020/07/11 Javascript
js实现3D旋转效果
2020/08/18 Javascript
[45:59]完美世界DOTA2联赛PWL S2 FTD vs GXR 第二场 11.22
2020/11/24 DOTA
[39:08]完美世界DOTA2联赛PWL S3 LBZS vs CPG 第一场 12.12
2020/12/16 DOTA
python实现微信跳一跳辅助工具步骤详解
2018/01/04 Python
Python类装饰器实现方法详解
2018/12/21 Python
Django如何实现网站注册用户邮箱验证功能
2019/08/14 Python
flask/django 动态查询表结构相同表名不同数据的Model实现方法
2019/08/29 Python
Python 模拟动态产生字母验证码图片功能
2019/12/24 Python
django 解决自定义序列化返回处理数据为null的问题
2020/05/20 Python
python实现猜拳游戏项目
2020/11/30 Python
Python实现王者荣耀自动刷金币的完整步骤
2021/01/22 Python
美国女士泳装店:Swimsuits For All
2017/03/02 全球购物
英国儿童鞋和靴子:Start-Rite
2019/05/06 全球购物
施惠特软件测试面试题以及笔试题
2015/05/13 面试题
小学生中国梦演讲稿
2014/04/23 职场文书
保证书范文大全
2014/04/28 职场文书
领导个人查摆剖析材料
2014/10/29 职场文书
大连星海广场导游词
2015/02/10 职场文书
学生会个人总结范文
2015/02/15 职场文书
《敬重卑微》读后感3篇
2019/11/26 职场文书
mysql对于模糊查询like的一些汇总
2021/05/09 MySQL