python3學生名片管理v2.0版
python學生名片管理vv2.0是在1.0的基礎(chǔ)上增加部分功能,實現(xiàn)將數(shù)據(jù)存入文件保存,以便于程序停止后還能再次取到數(shù)據(jù)。具體實現(xiàn)請看如下部分:
card_main.py
import sys
from One.card_func2 import *
def head():
print('*' * 30)
print('學生信息管理系統(tǒng)v2.0')
print('1.添加學生\t2.顯示所有\(zhòng)t3.查詢學生\t0.退出系統(tǒng)')
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): # 將數(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('請輸入查找學生的姓名:')
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.返回上一級')
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('執(zhí)行命令,刪除數(shù)據(jù)')
stutent_list.remove(dict)
print('...正在刪除,請等待...')
turnTime()
print('刪除成功,返回主界面')
def modify_card(dict):
print('執(zhí)行命令,修改數(shù)據(jù)')
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.查詢

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python神經(jīng)網(wǎng)絡(luò)slim常用函數(shù)訓練保存模型
這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡(luò)使用slim函數(shù)進行模型的訓練及保存模型示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05
淺談Python數(shù)據(jù)類型之間的轉(zhuǎn)換
下面小編就為大家?guī)硪黄獪\談Python數(shù)據(jù)類型之間的轉(zhuǎn)換。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-06-06
Tensorflow分類器項目自定義數(shù)據(jù)讀入的實現(xiàn)
這篇文章主要介紹了Tensorflow分類器項目自定義數(shù)據(jù)讀入的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-02-02
K最近鄰算法(KNN)---sklearn+python實現(xiàn)方式
今天小編就為大家分享一篇K最近鄰算法(KNN)---sklearn+python實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02
pytorch實現(xiàn)保證每次運行使用的隨機數(shù)都相同
今天小編就為大家分享一篇pytorch實現(xiàn)保證每次運行使用的隨機數(shù)都相同,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02
把大數(shù)據(jù)數(shù)字口語化(python與js)兩種實現(xiàn)
當出現(xiàn)萬以上的整型數(shù)字時,經(jīng)常要把它們口語化比較直觀。下面分享兩段代碼,python與js的2013-02-02
python調(diào)用subprocess模塊實現(xiàn)命令行操作控制SVN的方法
這篇文章主要介紹了使用python的subprocess模塊實現(xiàn)對SVN的相關(guān)操作,通過設(shè)置GitSvn類,在該類下自定義執(zhí)行SVN常規(guī)操作的方法,需要的朋友跟隨小編一起看看吧2022-09-09

