python學生名片管理vv2.0是在1.0的基礎上增加部分功能,實現將數據存入文件保存,以便于程序停止后還能再次取到數據。具體實現請看如下部分:
card_main.py
import sysfrom 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 jsonimport timestutent_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_resultdef 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)以下部分為控制臺效果截圖:
2.查詢
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答