Update 学生管理.py

master
hnu202109060103 3 years ago
parent 98f32600fd
commit 428a095e20

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

Loading…
Cancel
Save