20
pass
#Удаление элемента из списка
lst = lst[:delItem] + lst[delItem+1:]
Задача:
Напишите программу, в которой предлагается вводить
учащихся различных классов, посещающих футбольную секцию. Требуется
упорядочить список по возрастанию классов. Распечатать список фамилий и
классов.
#Описание класса Student
class Student:
def __init__(self):
self.fio = ""
self.cls = ""
def __init__(self, fio):
self.fio = fio
self.cls = ""
def __init__(self, fio, cls):
self.fio = fio
self.cls = cls
def __str__(self):
return "ФИО: "+ self.fio +" Класс: "+ self.cls
#Пустой список учащихся, который будет наполняться
studentList = []
#Форма для пользователя с
инструкциями запросов
while True:
print("+ - Добавить учащегося\nl - Вывести список
учащихся\ns - Вывести отсортированный список учащихся\nq -
Выход")
cmd = input()
#Обработка команд
if cmd == "+":
print("ФИО:")
fio = input()
print("Класс")
cls = input()
st = Student(fio, cls)
studentList.append(st)
#Вывод
списка без сортировки
elif cmd == "l":
print("------Список учащихся------")
for student in studentList:
print(student)
print("------")
21
#Вывод сортированного списка
elif cmd == "s":
sortedList = studentList
sortedList.sort(key = lambda x: x.cls)
print("------Список учащихся------")
for student in sortedList:
print(student)
print("------")
elif cmd == "q":
break
Замечание:
Для удобства пользователя создадим
поля для выбора операции,
при выполнении каждой из которой будут выполняться соответствующие им
строки программы. Заключим поля для выбора в цикл, который будет
появляться после
каждого введения учащегося, пока пользователь не введет
«
q
», т.е. выход:
while True:
print("+ - Добавить учащегося\nl - Вывести список учащихся\ns
- Вывести отсортированный список учащихся\nq - Выход")
\n
выступает в роли перехода на новую строку.
Достарыңызбен бөлісу: