学生管理系统 面向对象
创建一个实例对象后 把实例对象添加到列表后
每次遍历列表 都能获得一个实例对象
然后就可以使用实例对象的属性和方法了
'''
学生管理系统 面向对象
两个类 学生管理类 学生类
'''
# 学生类
# 属性 姓名 电话
class Student:
def __init__(self, name, phone):
self.name = name
self.phone = phone
def __str__(self):
return 'name:{}, phone:{}'.format(self.name, self.phone)
# 学生管理类
# 属性 学生列表
class StudentManager:
def __init__(self):
self.student_lst = [] # 学生列表
# 静态方法 菜单功能
@staticmethod
def menu():
print('欢迎使用学生管理系统')
print('1.添加学生')
print('2.删除学生')
print('3.修改学生')
print('4.查询学生')
print("5.展示所有学生")
print('6.退出系统')
# 执行各种方法的 总函数 类似于main()函数
def run(self):
while True:
self.menu()
choice = input('请输入你的选择:')
if choice == '1':
self.add_student()
elif choice == '2':
self.delete_student()
elif choice == '3':
self.update_student()
elif choice == '4':
self.query_student()
elif choice == '5':
self.show_all_student()
elif choice == '6':
break
else:
print('请输入正确的选择')
# 1.添加学生
def add_student(self):
name = input('请输入学生姓名:')
# #判断是否已经存在了
# for student in self.student_lst:
# if student['name'] == name:
# print('该学生已经存在')
# break
# else:
# phone = input('请输入学生电话:')
#
# student = Student(name, phone)
# self.student_lst.append(student)
# print('添加成功')
# print(student.__dict__) # 打印字典
# 面向对象
for student in self.student_lst:
if student.name == name:
print('该学生已经存在')
break
else:
phone = input('请输入学生电话:')
student = Student(name, phone) ## 创建一个Student实例
self.student_lst.append(student) # 将实例添加到列表中
print('添加成功')
# print(student.__dict__)
# 2.删除学生
def delete_student(self):
name = input('请输入要删除的学生姓名:')
for student in self.student_lst:
if student.name == name:
self.student_lst.remove(student)
print('删除成功')
break
else:
print('该学生不存在')
return
# 3.修改学生
def update_student(self):
name = input('请输入要修改的学生姓名:')
for student in self.student_lst:
if student.name == name:
re_name = input('请输入要修改的学生姓名:')
phone = input('请输入要修改的学生电话:')
student.name = re_name
student.phone = phone
print('修改成功')
break
else:
print('该学生不存在')
return
# 4.查询学生
def query_student(self):
name = input('请输入要查询的学生姓名:')
for student in self.student_lst: #student变量在每次迭代中引用列表中的不同Student实例。
if student.name == name:
print(student)
break
else:
print('该学生不存在')
return
# 5.展示所有学生
def show_all_student(self):
for student in self.student_lst:
print(student.__dict__) # 打印字典
# print(student) # 打印实例
if __name__ == '__main__':
s = StudentManager()
s.run()
原文地址:https://blog.csdn.net/qingcheng_123456/article/details/139305448
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!