存在問(wèn)題:功能測(cè)試完善,未連接數(shù)據(jù)庫(kù)操作,對(duì)角色的權(quán)限尚未解決,代碼不夠規(guī)范。
main:
import json
all_students = []
while True:
print('================================')
print('1.?登錄')
print('2.?注冊(cè)')
print('3.?返回')
print('================================')
log1 = input('請(qǐng)選擇:')
if log1 == '2':
function.register()
elif log1 == '1':
with open('./users.json', 'r', encoding='utf-8') as users:
usernameslist1 = json.load(users)
username2 = input('請(qǐng)輸入用戶(hù)名(6位以上):')
password2 = input('請(qǐng)輸入密碼(6-8位):')
if function.login(usernameslist1,username2,password2):
while True:
function.interface1(username2)
contrl1 = input('請(qǐng)選擇(1-5):')
if contrl1 == '1':
with open('%s.json' % username2, 'r', encoding='utf-8') as students:
dict1 = json.load(students)
lastnum = int(dict1['date'][-1]['num'][-1])
function.wg_input(username2,lastnum)
elif contrl1 == '2':
while True:
print('================================')
print('1.?查看所有學(xué)生')
print('2.?按姓名查找')
print('3.?按學(xué)號(hào)查找')
print('4.?返回')
sel = input('請(qǐng)選擇(1-4):')
print('================================')
function.wg_sel(username2, sel)
if sel == '4':
break
elif contrl1 == '3':
while True:
print('================================')
print('1.?按姓名查找修改')
print('2.?按學(xué)號(hào)查找修改')
print('3.?返回')
upda = input('請(qǐng)選擇:(1-3):')
print('================================')
function.wg_update(username2, upda)
if upda == '3':
break
elif contrl1 == '4':
while True:
print('================================')
print('1.?按學(xué)號(hào)查找刪除')
print('2.?按姓名查找')
print('3.?返回')
del1 = input('請(qǐng)選擇(1-3):')
print('================================')
function.wg_del(username2, del1)
if del1 == '3':
break
elif contrl1 == '5':
break
else:
print('輸入錯(cuò)誤,請(qǐng)重新輸入:')
continue
else:
print('賬號(hào)密碼有誤,請(qǐng)重新輸入')
elif log1 =='3':
break
else:
print('輸入錯(cuò)誤!請(qǐng)重新輸入!')
continue
function:
import json
def interface1(username):
print('================================')
print('??歡迎您:%s' % username)
print('1.?添加學(xué)生')
print('2.?查看學(xué)生')
print('3.?修改學(xué)生信息')
print('4.?刪除學(xué)生')
print('5.?返回')
print('================================')
def wg_input(username2, lastnum):
def get_num(lastnum):
while True:
yield '1%03.d' % (lastnum + 1)
num_gen = get_num(lastnum)
while True:
print('================================')
addname = input('請(qǐng)輸入姓名:')
addage = int(input('請(qǐng)輸入年齡:'))
addscore = int(input('請(qǐng)輸入成績(jī):'))
addtel = input('請(qǐng)輸入電話(huà):')
with open('%s.json' % username2, 'r', encoding='utf-8') as students:
dict1 = json.load(students)
dict1['date'].append(
{'name': addname, 'num': next(num_gen), 'age': addage, 'score': addscore, 'tel': addtel})
with open('%s.json' % username2, 'w', encoding='utf-8') as students:
json.dump(dict1, students)
print('添加成功')
print('1.?繼續(xù)添加')
print('2.?退出')
contrl2 = input('請(qǐng)選擇(1-2):')
print('================================')
if contrl2 == '1':
continue
else:
break
def wg_sel(username2, sel):
with open('%s.json' % username2, 'r', encoding='utf-8') as students:
dict2 = json.load(students)
if sel == '1':
for item1 in dict2['date']:
print(item1)
elif sel == '2':
name1 = input('請(qǐng)輸入您要查詢(xún)的姓名:')
i = 0
list1 = []
for i in dict2['date']:
if name1 == i["name"]:
list1.append(i)
if len(list1) == 0:
print('沒(méi)有找到該記錄!!')
else:
for n in list1:
print(n)
elif sel == '3':
list2 = []
num = input('請(qǐng)輸入您要查詢(xún)的學(xué)號(hào):')
for i in dict2["name"]:
if num == i['num']:
list2.append(i)
if len(list2) == 0:
print('沒(méi)有找到該記錄?。?)
else:
for n in list2:
print(n)
def wg_update(username2, upda):
with open('%s.json' % username2, 'r', encoding='utf-8') as students:
dict3 = json.load(students)
if upda == '1':
upname = input('請(qǐng)輸入您需要修改的姓名:')
list1 = []
for i in dict3['date']:
if i['name'] == upname:
list1.append(i)
if len(list1) > 0:
for n in range(len(list1)):
print(n, list1[n])
sure = int(input('請(qǐng)選擇你所需要修改的序號(hào):'))
for m in dict3['date']:
if list1[sure] == m:
print('================================')
print('1.?修改姓名')
print('2.?修改學(xué)號(hào)')
print('3.?修改年齡')
print('4.?修改成績(jī)')
print('5.?修改電話(huà)')
print('6.?返回')
print('================================')
upname1 = input('請(qǐng)輸入您需要修改的信息:')
if upname1 == '1':
upname2 = input('請(qǐng)輸入修改后的姓名:')
m['name'] = upname2
print('修改成功')
elif upname1 == '2':
upnum2 = input('請(qǐng)輸入修改后的學(xué)號(hào):')
m['num'] = upnum2
print('修改成功')
elif upname1 == '3':
upage2 = input('請(qǐng)輸入修改后的年齡:')
m['age'] = upage2
print('修改成功')
elif upname1 == '4':
upscore2 = input('請(qǐng)輸入修改后的成績(jī):')
m['score'] = upscore2
print('修改成功')
elif upname1 == '5':
uptel2 = input('請(qǐng)輸入修改后的電話(huà):')
m['tel'] = uptel2
print('修改成功')
elif upname1 == '6':
break
else:
print('輸入錯(cuò)誤!')
with open('%s.json' % username2, 'w', encoding='utf-8') as new_students:
json.dump(dict3, new_students)
else:
print('沒(méi)有找到該記錄!')
if upda == '2':
upnum = input('請(qǐng)輸入您需要修改的學(xué)號(hào):')
for i in dict3['date']:
if i['num'] == upnum:
print('================================')
print('1.?修改姓名')
print('2.?修改學(xué)號(hào)')
print('3.?修改年齡')
print('4.?修改電話(huà)')
print('5.?修改成績(jī)')
print('6.?返回')
upname1 = input('請(qǐng)輸入您需要修改的信息:')
print('================================')
if upname1 == '1':
upname2 = input('請(qǐng)輸入修改后的姓名:')
i['name'] = upname2
print('修改成功')
elif upname1 == '2':
upnum2 = input('請(qǐng)輸入修改后的學(xué)號(hào):')
i['num'] = upnum2
print('修改成功')
elif upname1 == '3':
upage2 = input('請(qǐng)輸入修改后的年齡:')
i['age'] = upage2
print('修改成功')
elif upname1 == '4':
upscore2 = input('請(qǐng)輸入修改后的成績(jī):')
i['score'] = upscore2
print('修改成功')
elif upname1 == '5':
uptel2 = input('請(qǐng)輸入修改后的電話(huà):')
i['tel'] = uptel2
print('修改成功')
elif upname1 == '6':
break
with open('%s.json' % username2, 'w', encoding='utf-8') as new_students:
json.dump(dict3, new_students)
def wg_del(username2, del1):
with open('%s.json' % username2, 'r', encoding='utf-8') as students:
dict3 = json.load(students)
if del1 == '1':
del2 = input('請(qǐng)輸入您需要?jiǎng)h除的學(xué)號(hào):')
list2 = []
for i in dict3['date']:
if del2 == i['num']:
list2.append(i)
if len(list2) == 0:
print('沒(méi)有找到該記錄!!')
else:
print('確定刪除嗎?')
print('1.確定')
print('2.返回')
sure = input('請(qǐng)選擇:')
if sure == '1':
for i in dict3['date']:
if del2 == i['num']:
dict3['date'].remove(i)
print('刪除成功!')
print(dict3['date'])
with open('%s.json' % username2, 'w', encoding='utf-8') as new_students:
json.dump(dict3, new_students)
if del1 == '2':
name1 = input('請(qǐng)輸入您要查詢(xún)的姓名:')
i = 0
list1 = []
while i in range(len(dict3['date'])):
if dict3['date'][i]['name'] == name1:
list1.append(dict3['date'][i])
i += 1
if len(list1) == 0:
print('沒(méi)有找到該記錄!!')
else:
for n in range(len(list1)):
print(n, list1[n])
sure = int(input('請(qǐng)選擇你所需要?jiǎng)h除的序號(hào):'))
dict3['date'].remove(list1[sure])
with open('%s.json' % username2, 'w', encoding='utf-8') as new_students:
json.dump(dict3, new_students)
print('刪除成功!')
def register():
while True:
username = input('請(qǐng)輸入用戶(hù)名:(6位以上)')
if 6 <= len(username):
while True:
password = input('請(qǐng)輸入密碼(6-8位):')
if 6 <= len(password) <= 8:
with open('./users.json', 'r', encoding='utf-8') as users:
usernames = json.load(users)
usernames.append({'username': username, 'password': password})
with open('./users.json', 'w', encoding='utf-8') as users:
json.dump(usernames, users)
with open('./%s.json' % username, 'w', encoding='utf-8') as userdate:
dict1 = {'user': username, 'date': []}
json.dump(dict1, userdate)
print('注冊(cè)成功!')
break
else:
print('輸入有誤!請(qǐng)重新輸入!')
continue
break
else:
print('輸入有誤!請(qǐng)重新輸入!')
continue
def login(usernameslist1: list, username2, password2):
for n in usernameslist1:
if n['username'] == username2 and password2 == n['password']:
return True
elif n == username2 and password2 != usernameslist1[n]:
print('密碼有誤,請(qǐng)重新登錄!')
return False