python3学生名片管理v2.0版
时间:2022-07-27
本文章向大家介绍python3学生名片管理v2.0版,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
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('| %st|t%st|t%st|t%st|' % (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('| %st|t%st|t%st|t%st|' % (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|tQQt|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)
以下部分为控制台效果截图:
2.查询
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持网站事(zalou.cn)。
您可能感兴趣的文章:
- python实现名片管理系统
- 名片管理系统python版
- 一个简单的Python名片管理系统
- python实现简单名片管理系统
- apache开启openssl支持
- 微信小程序开发常见问题(二)
- PHP数据结构(二十一) ——希尔排序
- PHP数据结构(二十二) ——快速排序
- PHP数据结构(二十三) ——快速排序
- PHP数据结构(二十四) ——堆排序
- PHP数据结构(二十五) ——并归排序
- PHP数据结构(二十六) ——基数排序实现36进制数排序
- Apache配置
- jquery事件
- 设计模式专题(二)——策略模式
- ASP.NET AJAX(10)__Authentication ServiceAuthentication ServiceAuthentication Service属性Authentication
- 高效开发 MVVM 和 databinding 你需要使用的工具
- ASP.NET AJAX(9)__Profile Service什么是ASP.NET Profile如何使用ASP.NET ProfileProfile ServiceProfile Service预
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法