Изучение языка программирования Python



Pdf көрінісі
бет9/14
Дата04.03.2023
өлшемі1,23 Mb.
#171016
1   ...   6   7   8   9   10   11   12   13   14
Байланысты:
python
бб, соц лекция, algebra-analitika, Практикалық жұмыс 6-7
1.
 
Добавление элемента в голову списка: 
# Голова списка 
lst=[ListItem("head")] 
# Добавление элемента 
lst.append(ListItem("NewHead")) 
lst[1].next = lst[0] 
lst[1].prev = None 
if not lst[0] == None: 
lst[0].prev = lst[1] 
lst[0],lst[1] = lst[1],lst[0]
2.
 
Поиск элемента в списке: 
def search(self, data): 
#Счётчик для определения номера элемента 
num = 0 
#Поиск начала списка 
while not self.prev == None: 
self = self.prev 
#Поиск нужного элемента 
while not self == None: 
if self.data == data: 
#Возврат номера элемента (счет с нуля) 
return num 
num += 1 
self = self.next 
return 'Не найдено'
3.
 
Удаление элемента из списка по индексу: 
delItem = int(input("Введите № удаляемого элемента:")) 
#Отлов исключений, если элемент в конце или начале списка и 
сохранение связности 
try: 
lst[delItem].prev.next = lst[delItem].next 
except AttributeError: 
pass 
try: 
lst[delItem].next.prev = lst[delItem].prev 
except AttributeError: 


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 
выступает в роли перехода на новую строку. 


Достарыңызбен бөлісу:
1   ...   6   7   8   9   10   11   12   13   14




©www.engime.org 2024
әкімшілігінің қараңыз

    Басты бет