一不小心,过了快一个月了。没办法,运维上班族没时间学习呀,终于算是把基础函数学完了。现在对Practice_01的《学生管理系统》,进行函数编写。其实我在Practice_01阶段,我挺排斥函数的,我觉得if/else就是无敌的(真香!)
废话不多说了,我先把之前的Practice_01的代码给个链接,老规矩——时空穿梭器:https://blog.csdn.net/D_Janrry/article/details/122235266
大家可以通过Practice_01的代码来对比我接下来的代码去学习,希望对各位有所帮助。
list = []
def add_stu():
dict = {}
name1 = input("请输入姓名>>>")
age1 = input("请输入年龄>>>")
gender1 = input("请输入性别>>>")
addr1 = input("请输入住址>>>")
dict["name"] = name1
dict["age"] = age1
dict["gender"] = gender1
dict["addr"] = addr1
list.append(dict)
print("\033[1;32m 添加成功! \033[0m")
def show_all():
print("\033[1;35m 姓名\t年龄\t性别\t住址 \033[0m")
for i in list:
print("\033[1;36m %s\t%s\t%s\t%s \033[0m" % (i["name"],i["age"],i["gender"],i["addr"]))
def del_stu():
del_name = input("请输入需要删除的姓名>>>")
flag = False
for i in list: # 这时候的i已经代表的是一个字典
if i["name"] == del_name:
del_flag = input("\033[1;33m 您确定要删除%s的信息吗?(yes/no) \033[0m\n" %(del_name))
if del_flag == 'yes':
list.remove(i) # 这里一定要清楚删除的是列表的元素(也就是一个字典,而不是删除字典中的某个key、value值),经检验,若列表中的多个字典key所对应value值相同,remove()函数默认删除第一个字典。
flag = True
break
if flag:
print("\033[1;32m 删除成功! \033[0m")
else:
print("\033[1;31m 输入的%s不存在! \033[0m" % (del_name))
def revise_stu():
new_name = input("请输入需要修改的姓名>>>")
flag = False
for i in list: # 这时候的i已经代表的是一个字典
if i["name"] == new_name:
new_name2 = input("输入姓名>>>")
new_age2 = input("输入年龄>>>")
new_gender2 = input("输入性别>>>")
new_addr2 = input("输入新地址>>>")
i["name"] = new_name2
i["age"] = new_age2
i["gender"] = new_gender2
i["addr"] = new_addr2
flag = True
if flag:
print("\033[1;32m 修改成功! \033[0m")
else:
print("\033[1;31m 输入的%s不存在! \033[0m" % (new_name))
while True:
print("+" + "-" * 22 + "+")
print("|" + " " * 2 + "1.添加学生信息" + " " * 8 + "|")
print("|" + " " * 2 + "2.显示所有学生的信息" + " " * 3 + "|")
print("|" + " " * 2 + "3.删除学生信息" + " " * 8 + "|")
print("|" + " " * 2 + "4.修改学生信息" + " " * 8 + "|")
print("|" + " " * 2 + "5.退出程序" + " " * 11 + "|")
print("|" + " " * 22 + "|")
print("+" + "-" * 22 + "+")
cmd1 = input("输入序号选择操作:")
if cmd1 == '5':
exit_flag = input("\033[1;33m您确定要退出吗?(yes/no)\033[0m\n")
if exit_flag == 'yes':
print("\033[1;32m 退出成功! \033[0m")
break
dict = {"1": add_stu, "2": show_all, "3": del_stu, "4": revise_stu}
function = dict.get(cmd1)
function()
宁愿累死自己,也要卷死别人! ! !