|
|
|
@ -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:
|
|
|
|
|