Update 学生管理.py

master
hnu202109060103 2 years ago
parent 98f32600fd
commit 428a095e20

@ -19,27 +19,19 @@ from datetime import datetime
# 格式输出
def print_message(*message):
print("{}】 【{}".format(datetime.now(), message))
# 读取stu.csv文件
def read_stu_csv():
stus = pd.read_csv("stu.csv", index_col= False)
return stus
# 查询全部学生信息
def read_all_stus():
stus = read_stu_csv()
display(stus)
read_all_stus()
# 通过姓名查询某个学生信息
def read_someone_by_name():
stus = read_stu_csv()
stu_names = stus['姓名'].values.tolist()
display(stus)
while True:
print_message("请输入查询学生姓名:")
stu_name = input("姓名:")
@ -49,18 +41,13 @@ def read_someone_by_name():
else:
stu = stus.loc[(stus['姓名'] == stu_name)]
print_message("{}】学生信息查询成功!".format(stu_name))
display(stu)
display(stu)
break
# 通过电话查询某个学生信息
def read_someone_by_phone():
stus = read_stu_csv()
display(stus)
stu_phones = stus['电话'].values.tolist()
while True:
print_message("请输入查询学生电话:")
stu_phone = input("电话:")
@ -72,8 +59,6 @@ def read_someone_by_phone():
print_message("{}】学生信息查询成功!".format(stu_phone))
display(stu)
break
# 通过姓名/电话查询某个学生信息
def read_stu():
stus = read_stu_csv()
@ -92,8 +77,6 @@ def read_stu():
else:
print_message("未查询到【{}】信息,请重新输入".format(stu_input))
continue
# 增加某个学生信息
def add_stu():
stus = read_stu_csv()
@ -108,7 +91,7 @@ def add_stu():
print_message("学生姓名输入不能为空,请重新输入!")
continue
else:
stu_name_flag = False
break
# 添加学生电话
stu_phone_flag = True
while stu_phone_flag:
@ -146,8 +129,6 @@ def add_stu():
print_message("添加学生【{}】成功".format(stu_name))
display(stu_df)
break
#通过姓名修改某个学生姓名
def update_by_name():
stus = read_stu_csv()
@ -170,7 +151,6 @@ def update_by_name():
continue
else:
name_flag = False
add_flag = True
while add_flag:
confirm = input("{}】修改为【{}】元请确认y/n".format(stu_name, name))
@ -200,13 +180,7 @@ def update_by_name():
print_message("输入错误,请重新输入!")
continue
break
# 通过电话修改某个学生电话
def update_by_phone():
stus = read_stu_csv()
display(stus)
@ -228,7 +202,6 @@ def update_by_phone():
continue
else:
phone_flag = False
add_flag = True
while add_flag:
confirm = input("{}】修改为【{}】元请确认y/n".format(stu_phone, phone))
@ -258,13 +231,7 @@ def update_by_phone():
print_message("输入错误,请重新输入!")
continue
break
# 更改学生信息
def update_stu():
stus = read_stu_csv()
stu_names = stus['姓名'].values.tolist()
@ -293,7 +260,6 @@ def update_stu():
print_message("类型选择有误,请重新输入")
continue
else:
# 获取学生原信息
stu_dict = stu.to_dict()[thing]
stu_index = list(stu_dict.keys())[0]
@ -309,35 +275,31 @@ def update_stu():
stus.to_csv("stu.csv", index = False)
display(stus)
break
#
# 删除学生信息
def del_stu():
stus = read_stu_csv()
stu_names = stus['姓名'].values.tolist()
stu_names = stus['学号ID'].values.tolist()
stu_phones = stus['电话'].values.tolist()
while True:
stu_input = input("请输入学生姓名/电话:")
stu_input = eval(input("请输入学生学号:"))
if stu_input in stu_names:
print_message("您确定删除此学生吗?")
confirm_flag = input("y/n")
if confirm_flag == 'y':
x=stus[stus['姓名']==stu_input].index.tolist()[0]
x=stus[stus['学号ID']==stu_input].index.tolist()[0]
stus.drop(x,axis=0,inplace=True)
print('删除成功')
stus.to_csv("stu.csv", index = True)
stus.to_csv("stu.csv", index = False)
else :
print('终止操作')
display(stus)
break
break
else:
print('重新输入姓名')
print('你想查询的内容')
print('0.查询全部学生信息')
print('1.通过姓名查找学生信息')
print('2.通过电话查找学生信息')
print('3.通过姓名/电话查找学生信息')
@ -348,7 +310,6 @@ print('7.更新学生信息')
print('8.删除学生信息')
x=eval(input('请输入:'))
if x==1:
read_someone_by_name()
elif x==2:
read_someone_by_phone()
@ -362,7 +323,8 @@ elif x==6:
add_stu()
elif x==7:
update_stu()
elif x==0:
read_all_stus()
elif x==8:
del_stu()
else:

Loading…
Cancel
Save