添加学生,查看学生,修改学生,删除学生均实现
studen_information = []
studen_information_fen = []
studen_infor5 = []
page2 = """
===========================
"❤1","查看所有学生"
"❤2","按学号查找"
"❤3","按姓名查找"
"❤4","返回"
===========================
"""
page3 = """
======================
❀1.姓名
❀2.性别
❀3.学号
❀4.年龄
❀5.电话
======================
"""
aaa = []
def aad_stu_infor(list1:list):
"""
list1:添加学生的每一组信息,
:param list1:
:return:
"""
list1 = []
studen_name = input("请输入学生姓名:")
list1.append(["name", studen_name])
studen_sex = input("请输入学生性别:")
list1.append(["sex", studen_sex])
student_age = input("请输入学生年龄:")
list1.append(["age", student_age])
studen_tel = input("请输入学生电话:")
list1.append(["tel", studen_tel])
return list1
def print_information(dict1,nn = None):
"""
打印出学生信息
:param dict1:
:return:
"""
if nn == None:
print("学号:%s," %dict1["xuehao"],
"姓名:%s," %dict1["name"],
"性别:%s," %dict1["sex"],
"年龄:%s," %dict1["age"],
"电话:%s," %dict1["tel"])
else:
item = dict1[nn]
print("学号:%s," %item["xuehao"],
"姓名:%s," %item["name"],
"性别:%s," %item["sex"],
"年龄:%s," %item["age"],
"电话:%s," %item["tel"])
def print_information11(dict1:list,index_count:int,weizhi_count:int ):
"""
删除学生前打印出所有名字相同的学生打印出学生信息
:param dict1:
:return:
"""
item = dict1[index_count]
print("编号:%s"%weizhi_count,"学号:%s," %item["xuehao"],
"姓名:%s," %item["name"],
"性别:%s," %item["sex"],
"年龄:%s," %item["age"],
"电话:%s," %item["tel"])
def iter_xuehao():
"""
自动生成递增学号。
:return:
"""
i = 1
while True:
yield "python1808" + str(i).rjust(3, "0")
i += 1
gener = iter_xuehao()
def main_mean(n:int):
"""
通过输入的数值,打印出主菜单对应的选项。
:param n:
:return:
"""
function_mean = [
("❤1","添加学生"),
("❤2","查看学生"),
("❤3","修改学生信息"),
("❤4", "删除学生信息"),
("❤5", "返回")
]
if n == 1:
print(function_mean[n-1],":")
elif n ==2:
print(function_mean[n - 1], ":")
elif n ==3:
print(function_mean[n - 1], ":")
elif n ==4:
print(function_mean[n - 1], ":")
else:
print(function_mean[n - 1], ":")
def continue_or_no(choice:int):
"""
判断是否执行继续添加学生信息
:param choice:
:return:
"""
if int(choice) == 1:
flag = True
else:
flag = False
return flag
def function_mean1():
"""
调用此函数打印主菜单。
:return:
"""
print("==========================")
function_mean = [
("❤1","添加学生"),
("❤2","查看学生"),
("❤3","修改学生信息"),
("❤4", "删除学生信息"),
("❤5", "返回")
]
for i,v in enumerate(function_mean,1):
print(i," ",v)
print("==============================")
def function_mean2():
"""
调用此函数打印,学生信息录入员后的页面
:return:
"""
function_mean22 = [
("❤1","继续"),
("❤2","返回")
]
for i,v in enumerate(function_mean22,1):
print(i," ",v)
def changge_category(dict2: dict, num: int, num2:int): # 修改学生信息函数
"""
修改学生信息。
:param dict2:
:param num:
:param str1:
:return:
"""
if num2 == 1: #姓名
new_name = input("改成什么?:")
dict2[num]["name"] = new_name
elif num2 == 2: #性别
new_sex = input("改成什么?:")
dict2[num]["sex"] = new_sex
elif num2 == 3: #学号
new_xuehao = input("改成什么?:")
dict2[num]["xuehao"] = new_xuehao
elif num2 == 4: #年龄
new_age = input("改成什么?:")
dict2[num]["age"] = new_age
elif num2 == 5: #电话
new_tel = input("改成什么?:")
dict2[num]["tel"] = new_tel
else:
print("无效输入")
def show_del_num(list3:list,str1:str):
"""
显示即将删除学生的信息
:param list3:
:param str1:
:return:
"""
count = 0
count1 = 1
count_a1 = []
count1_a1 = []
while count <= len(list3)-1:
if list3[count]["name"] == str1:
print_information11(list3,count,count1)
count1_a1.append(count1)
count1 += 1
count_a1.append(count)
count += 1
return count1_a1,count_a1
def del_stu_infor(list3:list,num111:list,num222:list,input_:int):
"""
删除学生信息
:param list3:
:param num111:
:param num222:
:param input_:
:return:
"""
for item in num111:
if input_ == item:
aa = num11.index(item)
list3.remove(list3[num222[aa]])
count_start = 1
while True:
function_mean1() # 调用函数
cao_zuo = input("请输入1-5对学生进行管理:")
if cao_zuo.isdigit():
if int(cao_zuo) == 1:
cao_zuo_int = int(cao_zuo)
flag = True
while flag:
studen_information_fen = []
studen_infor5 = []
studen_infor3 = aad_stu_infor(studen_information_fen)
studen_infor3.append(["xuehao", next(gener)]) #调用函数添加学生学号
studen_infor5.append(studen_infor3)
print("添加成功!!!")
function_mean2()
aa = input("请输入是否继续。输入1或者2:")
flag = continue_or_no(aa) #调用函数选择是否继续添加学生信息
for item in studen_infor5:
new_item1 = dict(item)
aaa.append(new_item1)
elif int(cao_zuo) == 2:
flag = True
while flag:
main_mean(int(cao_zuo))
print(page2)
qqq = input("请输入1-4进行操作:")
if 1 == int(qqq):
for item in aaa:
dict_studen_information = item
print_information(dict_studen_information) #调用函数打印出学生信息
elif int(qqq) == 2:
input_xuehao = input("请输入学号:")
a_j = 0
while a_j <= len(aaa) - 1:
if aaa[a_j]["xuehao"] == input_xuehao:
print_information(aaa,a_j) #调用函数打印按学号查找的出学生信息
a_j += 1
elif int(qqq) == 3:
input_name = input("请输入姓名:")
a_j = 0
while a_j <= len(aaa) - 1:
if aaa[a_j]["name"] == input_name:
print_information(aaa, a_j) #调用函数打印按学号查找的出学生信息
a_j += 1
else:
flag = False
print("返回主界面")
elif int(cao_zuo) == 3:
main_mean(int(cao_zuo)) #调用函数打印第三部操作
for item in aaa:
dict_studen_information = item
print_information(dict_studen_information) ##调用函数打印出学生信息
a =[]
aa = input("你想修改哪个娃?:")
count = 0
while count <= len(aaa)-1:
if aa == aaa[count]["name"]:
print(page3)
bb = int(input("修改哪项请输入编号:"))
changge_category(aaa,count,bb) #调用函数修改对应的编号
count += 1
for item in aaa:
dict_studen_information = item
print_information(dict_studen_information)
elif int(cao_zuo) == 4: #删除
main_mean(int(cao_zuo))
for item in aaa:
dict_studen_information = item
print_information(dict_studen_information) #调用函数打印学生信息
aa = input("你想删除哪个娃?(输入名字):")
num11, num22 = show_del_num(aaa,aa) #显示即将删除的学生信息
# print(num11,num22)
del_num = int(input("你想删除哪个编号:"))
del_stu_infor(aaa,num11,num22,del_num) #调用函数删除需要删除的项
for item in aaa:
dict_studen_information = item
print_information(dict_studen_information)
elif int(cao_zuo) == 5:
main_mean(int(cao_zuo))
break
else:
break
else:
print("输入的不是数字!!!!!!!!!!!!!!!!!!!!!!")
print(aaa)
网友评论