Как удалить запись из списка с помощью ООП [закрыто] ⇐ Python
-
Anonymous
Как удалить запись из списка с помощью ООП [закрыто]
class Student: # определите класс def __init__(я, идентификатор, имя, возраст, программа): self.sID = id # поля self.sName = имя self.sAge = возраст self.sProg = прога защита __str__(сам): return f"SID: {self.sID}, Имя: {self.sName}, Возраст: {self.sAge}, Prog: {self.sProg}" # возвращаемая строка def main(): # основная функция StudentRep = [] # пустой список пока правда: action = input("Введите «A», чтобы добавить запись. «D», чтобы удалить запись, «P», чтобы распечатать все записи, «q», чтобы выйти: ") if action == 'A': # добавить новую запись об ученике StudentRep.append(addRecord()) elif action == 'D': # удалить запись об ученике StudentRep = delRecord(studentRep) elif action == 'P': # распечатать записи об учащихся printRecord (студентреп) elif action == 'q': # выйти перерыв еще: print("Неверный ввод\n") print("*** КОНЕЦ программы ***") def addRecord(): # Добавить новую запись Student_id = input("Введите идентификатор студента: ") Student_name = input("Введите имя студента: ") Student_age = input("Введите возраст ученика: ") Student_prog = input("Введите студенческую программу: ") return Student(student_id, Student_name, Student_age, Student_prog) def delRecord(s_list): # Удалить запись delete_id = input("Укажите идентификатор учащегося, чтобы удалить запись: ") для меня в s_list: если я == delete_id: s_list.remove(я) вернуть s_list def printRecord(s_list): # Распечатать все записи print(f"Количество представителей студентов: {len(s_list)}") для меня в s_list: распечатать(я) если __name__ == "__main__": основной() Я новичок в Python. Приведенный выше код предназначен для добавления, удаления и печати записей. Добавление и печать работают должным образом, но удаление не работает должным образом. Либо идентификатор, который я хочу удалить, не найден в списке, либо он не удаляется. Я не могу решить эту проблему, буду признателен за любую помощь, спасибо.
class Student: # определите класс def __init__(я, идентификатор, имя, возраст, программа): self.sID = id # поля self.sName = имя self.sAge = возраст self.sProg = прога защита __str__(сам): return f"SID: {self.sID}, Имя: {self.sName}, Возраст: {self.sAge}, Prog: {self.sProg}" # возвращаемая строка def main(): # основная функция StudentRep = [] # пустой список пока правда: action = input("Введите «A», чтобы добавить запись. «D», чтобы удалить запись, «P», чтобы распечатать все записи, «q», чтобы выйти: ") if action == 'A': # добавить новую запись об ученике StudentRep.append(addRecord()) elif action == 'D': # удалить запись об ученике StudentRep = delRecord(studentRep) elif action == 'P': # распечатать записи об учащихся printRecord (студентреп) elif action == 'q': # выйти перерыв еще: print("Неверный ввод\n") print("*** КОНЕЦ программы ***") def addRecord(): # Добавить новую запись Student_id = input("Введите идентификатор студента: ") Student_name = input("Введите имя студента: ") Student_age = input("Введите возраст ученика: ") Student_prog = input("Введите студенческую программу: ") return Student(student_id, Student_name, Student_age, Student_prog) def delRecord(s_list): # Удалить запись delete_id = input("Укажите идентификатор учащегося, чтобы удалить запись: ") для меня в s_list: если я == delete_id: s_list.remove(я) вернуть s_list def printRecord(s_list): # Распечатать все записи print(f"Количество представителей студентов: {len(s_list)}") для меня в s_list: распечатать(я) если __name__ == "__main__": основной() Я новичок в Python. Приведенный выше код предназначен для добавления, удаления и печати записей. Добавление и печать работают должным образом, но удаление не работает должным образом. Либо идентификатор, который я хочу удалить, не найден в списке, либо он не удаляется. Я не могу решить эту проблему, буду признателен за любую помощь, спасибо.