def update(self): #修改学生信息 while True: no = input('请输入要修改的学生学号:') if self.__exists(no): for stu in self.stulist: if stu.no == no: stu.name = input('姓名:') stu.chinese = int(self.__enterScore('语文成绩:')) stu.math = int(self.__enterScore('数学成绩:')) stu.english = int(self.__enterScore('英语成绩:')) print('修改成功') break else: print('该学号不存在') choice = input('继续修改(y/n)?').lower() if choice == 'n': break
时间: 2024-02-10 21:18:41 浏览: 66
这段代码是一个名为 `update` 的方法,用于修改学生信息。该方法使用一个 `while` 循环,不断地询问用户要修改哪个学生的信息,并根据用户输入的学号在 `self.stulist` 列表中查找对应的学生对象。如果找到了该学生对象,则会要求用户输入新的姓名、语文、数学和英语成绩,并将这些信息更新到学生对象中,并输出“修改成功”的提示信息。如果用户输入的学号在学生列表中不存在,则会输出“该学号不存在”的提示信息。在每次修改操作完成后,方法会询问用户是否继续进行修改操作,如果用户输入的是 `n`,则退出循环。
其中 `self.__exists(no)` 是一个私有方法,用于判断给定的学号是否存在于学生列表中。
相关问题
在我发给你的代码基础上,再加上下面的代码,并且整体分析详细点 def delete(self): #删除学生信息 while True: no = input('请输入要删除的学生学号:') for stu in self.stulist[::]: if stu.no == no: self.stulist.remove(stu) print('删除成功') break else: print('该学号不存在') choice = input('继续删除(y/n)?').lower() if choice == 'n': break elif choice == 'y': continue else: print('您输入只能是y/n! ') break def update(self): #修改学生信息 while True: no = input('请输入要修改的学生学号:') if self.__exists(no): for stu in self.stulist: if stu.no == no: stu.name = input('姓名:') stu.chinese = int(self.__enterScore('语文成绩:')) stu.math = int(self.__enterScore('数学成绩:')) stu.english = int(self.__enterScore('英语成绩:')) print('修改成功') break else: print('该学号不存在') choice = input('继续修改(y/n)?').lower() if choice == 'n': break elif choice == 'y': continue else: print('您输入只能是y/n! ') break def load(self,fn): #导入学生信息 if os.path.exists(fn): try: with open(fn,'r',encoding = 'utf-8') as fp: while True: fs = fp.readline().strip('\n')#删除首尾指定内容 if not fs: break else: stu = Student(*fs.split(','))#传入参数为元组 if self.__exists(stu.no): print('该学号已存在') else: self.stulist.append(stu) print('导入完毕') except:
这段代码是对已有的学生信息管理系统进行了三个功能的添加,分别是删除学生信息、修改学生信息和导入学生信息。
首先,delete()函数是用来删除学生信息的,它会通过输入学生的学号来查找要删除的学生信息,如果该学号存在于学生信息列表中,则会将该学生信息从列表中删除。如果该学号不存在,则会输出“该学号不存在”的提示信息。同时,在每次删除操作完成后,会询问用户是否继续删除,并根据用户输入的结果来决定是否继续进行删除操作。
接下来,update()函数是用来修改学生信息的,它会通过输入学生的学号来查找要修改的学生信息,如果该学号存在于学生信息列表中,则会对该学生的姓名、语文成绩、数学成绩和英语成绩进行修改。如果该学号不存在,则会输出“该学号不存在”的提示信息。同时,在每次修改操作完成后,会询问用户是否继续修改,并根据用户输入的结果来决定是否继续进行修改操作。
最后,load()函数是用来导入学生信息的,它会从指定的文件中读取学生信息,并将其添加到学生信息列表中。在读取文件的过程中,如果发现该学号已经存在于学生信息列表中,则会输出“该学号已存在”的提示信息。这个函数使用了try-except语句来处理文件读取过程中可能出现的异常情况。同时,该函数的参数fn表示要导入的文件名。
总的来说,这三个函数的添加使得学生信息管理系统更加完整和实用。用户可以通过这些功能来删除、修改和导入学生信息,从而更好地管理和维护学生信息。
设计一个学生管理系统,包括功能:1.添加学生《需要包含如学号,姓名性别,籍贯等信息)、2.删除学生、3.修改学生信息、4.查询单个学生信息5.查询所有学生的信息、6.退出系统。“
以下是一个简单的学生管理系统的 Python 实现代码,包含添加学生、删除学生、修改学生信息、查询单个学生信息、查询所有学生信息和退出系统等功能:
```python
# 定义学生信息类
class Student:
def __init__(self, id, name, gender, hometown):
self.id = id
self.name = name
self.gender = gender
self.hometown = hometown
# 定义学生管理系统类
class StudentManagementSystem:
def __init__(self):
self.students = []
# 添加学生
def add_student(self, id, name, gender, hometown):
student = Student(id, name, gender, hometown)
self.students.append(student)
# 删除学生
def delete_student(self, id):
for student in self.students:
if student.id == id:
self.students.remove(student)
print(f"学号为{id}的学生已删除")
return
print(f"学号为{id}的学生不存在")
# 修改学生信息
def update_student(self, id, name, gender, hometown):
for student in self.students:
if student.id == id:
student.name = name
student.gender = gender
student.hometown = hometown
print(f"学号为{id}的学生已更新")
return
print(f"学号为{id}的学生不存在")
# 查询单个学生信息
def query_student(self, id):
for student in self.students:
if student.id == id:
print(f"学号:{student.id} 姓名:{student.name} 性别:{student.gender} 籍贯:{student.hometown}")
return
print(f"学号为{id}的学生不存在")
# 查询所有学生信息
def query_all_students(self):
if len(self.students) == 0:
print("暂无学生信息")
else:
for student in self.students:
print(f"学号:{student.id} 姓名:{student.name} 性别:{student.gender} 籍贯:{student.hometown}")
# 创建学生管理系统对象
sms = StudentManagementSystem()
# 学生管理系统菜单
while True:
print("欢迎使用学生管理系统")
print("1.添加学生 2.删除学生 3.修改学生信息 4.查询单个学生信息 5.查询所有学生信息 6.退出系统")
choice = input("请输入操作序号:")
# 添加学生
if choice == "1":
id = input("请输入学生学号:")
name = input("请输入学生姓名:")
gender = input("请输入学生性别:")
hometown = input("请输入学生籍贯:")
sms.add_student(id, name, gender, hometown)
# 删除学生
elif choice == "2":
id = input("请输入要删除的学生学号:")
sms.delete_student(id)
# 修改学生信息
elif choice == "3":
id = input("请输入要修改的学生学号:")
name = input("请输入修改后的学生姓名:")
gender = input("请输入修改后的学生性别:")
hometown = input("请输入修改后的学生籍贯:")
sms.update_student(id, name, gender, hometown)
# 查询单个学生信息
elif choice == "4":
id = input("请输入要查询的学生学号:")
sms.query_student(id)
# 查询所有学生信息
elif choice == "5":
sms.query_all_students()
# 退出系统
elif choice == "6":
print("感谢使用学生管理系统,再见!")
break
else:
print("输入有误,请重新输入")
```