python3學(xué)生名片管理v2.0版
python學(xué)生名片管理vv2.0是在1.0的基礎(chǔ)上增加部分功能,實(shí)現(xiàn)將數(shù)據(jù)存入文件保存,以便于程序停止后還能再次取到數(shù)據(jù)。具體實(shí)現(xiàn)請(qǐng)看如下部分:
card_main.py
import sys from One.card_func2 import * def head(): print('*' * 30) print('學(xué)生信息管理系統(tǒng)v2.0') print('1.添加學(xué)生\t2.顯示所有\(zhòng)t3.查詢(xún)學(xué)生\t0.退出系統(tǒng)') print('*' * 30) def main(): while True: head() num = input('輸入操作:') if num == '1': print('選擇功能添加學(xué)生') add_card() elif num == '2': print('選擇功能添顯示所有') show_all() elif num == '3': print('選擇功能查詢(xún)學(xué)生') search_card() elif num == '0': sys.exit() else: print('輸入有誤,命令無(wú)效') if __name__ == '__main__': main()
card_func2.py
import json import time stutent_list = [] def add_card(): name = input('請(qǐng)輸入姓名:') age = input('請(qǐng)輸入年齡:') qq = input('請(qǐng)輸入QQ:') mail = input('請(qǐng)輸入郵箱:') dict = {} dict['name'] = name dict['age'] = age dict['qq'] = qq dict['mail'] = mail stutent_list.append(dict) memory(stutent_list) def memory(stutent_list): # 將數(shù)據(jù)存入文件 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(): # 從文件中去除數(shù)據(jù) 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('請(qǐng)輸入查找學(xué)生的姓名:') 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('您可以執(zhí)行操作:1.刪除\t2.修改\t3.返回上一級(jí)') deal_card(dict) break else: print('查無(wú)此人!??!') def table_head(): print('_' * 32) print('| 姓名\t|\t年齡\t|\tQQ\t|\t郵箱\t|') def deal_card(dict): order = input('請(qǐng)輸入命令:') while True: if order == '1': delete_card(dict) break elif order == '2': modify_card(dict) break elif order == '3': break else: print('輸入有誤,命令無(wú)效') def delete_card(dict): print('執(zhí)行命令,刪除數(shù)據(jù)') stutent_list.remove(dict) print('...正在刪除,請(qǐng)等待...') turnTime() print('刪除成功,返回主界面') def modify_card(dict): print('執(zhí)行命令,修改數(shù)據(jù)') dict['name'] = input('請(qǐng)輸入姓名:') dict['age'] = input('請(qǐng)輸入年齡:') dict['qq'] = input('請(qǐng)輸入QQ:') dict['mail'] = input('請(qǐng)輸入郵箱:') print('...正在修改,請(qǐng)等待...') turnTime() print('修改成功,返回主界面') def turnTime(): for i in list(range(5, 0, -1)): print(i, 's') time.sleep(1)
以下部分為控制臺(tái)效果截圖:
2.查詢(xún)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python神經(jīng)網(wǎng)絡(luò)slim常用函數(shù)訓(xùn)練保存模型
這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡(luò)使用slim函數(shù)進(jìn)行模型的訓(xùn)練及保存模型示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05淺談Python數(shù)據(jù)類(lèi)型之間的轉(zhuǎn)換
下面小編就為大家?guī)?lái)一篇淺談Python數(shù)據(jù)類(lèi)型之間的轉(zhuǎn)換。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-06-06Tensorflow分類(lèi)器項(xiàng)目自定義數(shù)據(jù)讀入的實(shí)現(xiàn)
這篇文章主要介紹了Tensorflow分類(lèi)器項(xiàng)目自定義數(shù)據(jù)讀入的實(shí)現(xiàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-02-02K最近鄰算法(KNN)---sklearn+python實(shí)現(xiàn)方式
今天小編就為大家分享一篇K最近鄰算法(KNN)---sklearn+python實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02教你用Python實(shí)現(xiàn)一個(gè)輪盤(pán)抽獎(jiǎng)小游戲
Python提供了許多個(gè)圖像開(kāi)發(fā)界面的庫(kù),比如現(xiàn)在主流的Tkinter,wxPython,pyqt5等,三種各有優(yōu)點(diǎn),也各有缺點(diǎn),下面對(duì)其分別進(jìn)行介紹和對(duì)比,并編寫(xiě)代碼實(shí)現(xiàn)一個(gè)輪盤(pán)轉(zhuǎn)盤(pán)抽獎(jiǎng)小游戲.需要的朋友可以參考下2021-05-05pytorch實(shí)現(xiàn)保證每次運(yùn)行使用的隨機(jī)數(shù)都相同
今天小編就為大家分享一篇pytorch實(shí)現(xiàn)保證每次運(yùn)行使用的隨機(jī)數(shù)都相同,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02python自動(dòng)保存百度盤(pán)資源到百度盤(pán)中的實(shí)例代碼
這篇文章主要介紹了python自動(dòng)保存百度盤(pán)資源到百度盤(pán)中的實(shí)例代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08在vscode中配置python環(huán)境過(guò)程解析
這篇文章主要介紹了在vscode中配置python環(huán)境過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09把大數(shù)據(jù)數(shù)字口語(yǔ)化(python與js)兩種實(shí)現(xiàn)
當(dāng)出現(xiàn)萬(wàn)以上的整型數(shù)字時(shí),經(jīng)常要把它們口語(yǔ)化比較直觀。下面分享兩段代碼,python與js的2013-02-02python調(diào)用subprocess模塊實(shí)現(xiàn)命令行操作控制SVN的方法
這篇文章主要介紹了使用python的subprocess模塊實(shí)現(xiàn)對(duì)SVN的相關(guān)操作,通過(guò)設(shè)置GitSvn類(lèi),在該類(lèi)下自定義執(zhí)行SVN常規(guī)操作的方法,需要的朋友跟隨小編一起看看吧2022-09-09