定义一个main函数,用于控制整个程序的流程。在该函数中,使用一个无限循环保证程序你一直接受用户的输入。在循环中,打印功能菜单提示用户,之后获取用户的输入,并使用if-elif 语句区分不同序号所对应的功能,具体代码如下。
student_list = []
def main():
while True:
print_menu() #打印菜单
key = input("请输入功能对应的数字:")#获得用户输入的序号
if key=='1':#添加学生的信息
add_info()
elif key=='2':#删除学生的信息
del_info()
elif key=='3':#修改学生的信息
modify_info()
elif key=='4':#查看所有学生的信息
show_infos()
elif key=='0':#退出系统
quit_confirm=input("亲,真的要退出么?(Y or N):")
if quit_confirm =="Y":
break#结束循环
else:
print("输入有误,请重新输入")
def print_menu():#打印菜单
print('1. 添加学生信息')
print('2. 删除学生信息')
print('3. 修改学生信息')
print('4. 查看所有学生信息')
print('0. 退出系统')
print('--------------------------------------------------------------------------')
def add_info():#添加学生的信息
while True:
id = input('请输入id(如1001):')
if not id:
break
name = input('请输入姓名:')
if not name:
break
try:
score = int(input('请输入成绩:'))
except:
print('输入无效,不是整数类型,请重新输入')
continue
# 将录入的学生信息保存到字典中
student = {'id': id, 'name': name, 'score': score}
# 将学生信息添加到列表中
student_list.append(student)
answer = input('是否继续添加?y/n\n')
if answer == 'y' or answer == 'Y':
continue
else:
break
print('学生信息录入完毕!!!')
def del_info():#删除学生的信息
while True:
student_id = input('请输入要删除的学生的id:')
i = -1 #下标指向值
for stu_dict in student_list:
i += 1 #每遍历一次,下标加一
if student_id in stu_dict['id']:
break #找到了该值,跳出循环
del student_list[i]
show_infos() # 重新显示所有学生信息
answer = input('是否继续删除?y/n\n')
if answer == 'y' or answer == 'Y':
continue
else:
break
def modify_info():#修改学生的信息
while True:
# 修改
student_id = input('请输入要修改的学生的id:')
flag = 0
for line in student_list:
if line['id'] == student_id:
new_name = input('请输入修改后的姓名:')
new_score = input('请输入修改后的成绩:')
line['name'] = new_name
line['score'] = int(new_score)
flag = True
break
if flag:
print("已修改!")
else:
print('输入的用户不存在!')
show_infos() # 重新显示所有学生信息
# 询问是否要接着修改
answer = input('是否修改其他学生信息?y/n\n')
if answer == 'y' or answer == 'Y':
continue
else:
break
def show_infos():#查看所有学生的信息
print(student_list)
main()