马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
经过一段时间的气质(弃置)后,我把Python捡了回来
第一个练手的目标就是学生查询
我在电脑上搜了有一段时间才把他找到
本次更改内容:美化界面
上源码:from time import sleep
from random import randint
def print_all():
print("现在打印所有学生的档案:")
sleep(1)
if not (data == []):
for student in data:
print("学生ID: %s" % student["ID"], end = " ")
sleep(1)
print("姓名:%s" % student["name"], end=" ")
sleep(1)
print("性别:%s" % student["sex"], end=" ")
sleep(1)
print("地址:%s" % student["address"], end=" ")
sleep(1)
print()
else:
print('一团干草默默飘过。。。')
def someThing_put_in():
ID = randint(100000000, 999999999)
try:
if ID in data:
ID = randint(100000000, 999999999)
except:
print("调试错误!")
someName = input("输入姓名:")
someSex = input("输入性别:")
someAddress = input("输入地址:")
student = {"ID": ID, "name": someName, "sex": someSex, "address": someAddress}
data.append(student)
def find_student():
print("为了确保您是管理员,请输入学生全名(非小名)")
somename = input()
try:
for i in data:
if i["name"] == somename:
print(i)
except:
print("有错误")
def write_student():
someBody = input("请输入学生全名(非小名):")
for j in data:
if j["name"] == someBody:
TA_new_name = input("请输入新名字:")
TA_new_ID = randint(100000000, 999999999)
if TA_new_ID in data:
TA_new_ID = randint(100000000, 999999999)
else:
TA_new_sex = input("输入性别:")
TA_new_address = input("输入地址:")
NEW_student = {"ID": TA_new_ID, "name": TA_new_name, "sex": TA_new_sex, "address": TA_new_address}
data.append(NEW_student)
for k in data:
if k["name"] == someBody:
data.remove(k)
def del_student():
someGuy = input("请输入学生全名(非小名):")
for find in data:
if find["name"] == someGuy:
print()
sleep(1)
print("Find it!")
sleep(2)
data.remove(find)
def save():
if data != []:
with open('data.txt','w',encoding='utf-8') as f:
f.write('{:^10}{:^10}{:^10}{:^10}\n\n'.format('ID','Name','Sex','Address'))
for i in data:
f.write('{:^10}{:^10}{:^10}{:^10}\n\n'.format(i['ID'],i['name'],i['sex'],i['address']))
print('保存数据成功!')
else:
print('你的档案库为空!')
def extract():
global data
try:
with open('data.txt', encoding='utf-8') as f:
temp = []
for i in f:
if i[0].isdigit():
temp.append([each for each in i.split() if each != ''])
for i in temp:
temp_list = {}
temp_list['ID'] = int(i[0])
temp_list['name'] = i[1]
temp_list['sex'] = i[2]
temp_list['address'] = i[3]
if temp_list not in data:
data.append(temp_list)
print('提取学生档案成功!')
except OSError:
raise FileNotFoundError("file 'data.txt' is not found")
try:
data = extract()
except:
data = []
print(" ****************************************")
print(" 欢迎使用学生管理系统v3.0")
print(" 1.显示所有学生")
print(" 2.新建学生档案")
print(" 3.查询学生信息")
print(" 4.修改学生档案")
print(" 5.删除学生档案")
print(" 6.提取学生数据")
print(" 0.退出")
print(" ****************************************")
print()
while True:
someThing = input("输入操作序号:")
if someThing == "0":
break
elif someThing == "1":
print_all()
elif someThing == "2":
print("好的")
print()
sleep(1)
someThing_put_in()
elif someThing == "3":
print("OK")
print()
find_student()
elif someThing == "4":
print("OK")
sleep(1)
write_student()
elif someThing == "5":
print("OK")
print()
del_student()
elif someThing == "6":
more_Thing = input("要提取还是读取(填R(读取)或S(保存)):")
if more_Thing == "R" or more_Thing == "r":
extract()
elif more_Thing == "S" or more_Thing == "s":
save()
|