版权声明:共同努力,有不足的地方欢迎大家点出 https://blog.csdn.net/qq_42897012/article/details/82873007
之前的非函数版本 打印学生列表代码重复,如果要修改需要处处修改。while if 嵌套,代码越来越长,不容易维护。所以我们封装成。函数封装将大问题分解成小问题,结构更清晰。
student_list = ['小王', '小红', '小李']
def show_students():
""" 打印学生列表 """
# print(len(student_list))
print('行号\t\t姓名')
print('-------------------')
for i in range(0, len(student_list)):
print(i + 1, '\t\t', student_list[i])
def add_student():
""" 添加学生 """
new_name = input('请添加新姓名:')
student_list.append(new_name)
print('添加成功')
def update_student():
"""修改学生"""
show_students()
stu_num = int(input('修改第几个:'))
student_list[stu_num - 1] = input('修改后的名字:')
print('修改成功')
def delete_student():
""" 删除 """
print(""" 删除> 请输入子操作编号:
1)按学生编号删除
2)删除全部学生(谨慎)
""")
sub_num = int(input('请选择子操作:'))
if sub_num == 1:
stu_num = int(input('要删除第几个学生?:'))
student_list.pop(stu_num - 1)
print('删除成功')
elif sub_num == 2:
confirm = input('确认删除全部?(Y/N)')
if confirm == 'Y'or confirm == 'y':
student_list.clear()
print('删除全部成功')
def main():
# 主函数,程序入口
while True:
print("""
欢迎使用学生管理系统
1-查看学员姓名
2-添加学员姓名
3-修改学员姓名
4-删除学员姓名
0-退出程序
""")
num = int(input('请输入操作编号:'))
if num == 1:
show_students()
elif num == 2:
add_student()
elif num == 3:
update_student()
elif num == 4:
delete_student()
elif num == 0:
break
if __name__ == '__main__':
main()