Оцените код для упражнения (Python):
3-7. Сокращение списка гостей: только что выяснилось, что новый обеденный стол привезти вовремя не успеют, и места хватит только для двух гостей.
• Начните с программы из упражнения 3-6. Добавьте команду для вывода сообщения
о том, что на обед приглашаются всего два гостя.
• Используйте метод pop() для последовательного удаления гостей из списка до тех
пор, пока в списке не останутся только два человека. Каждый раз, когда из списка
удаляется очередное имя, выведите для этого человека сообщение о том, что вы сожалеете об отмене приглашения.
• Выведите сообщение для каждого из двух человек, остающихся в списке. Сообщение
должно подтверждать, что более раннее приглашение остается в силе.
• Используйте команду del для удаления двух последних имен, чтобы список остался
пустым. Выведите список, чтобы убедиться в том, что в конце работы программы
список действительно не содержит ни одного элемента.
#Определяем список и выводим приглашения.
guests = ['Einshein', 'Jesus', 'Aristotel']
for guest in guests:
print (f'You are invited, {guest}!')
#Заменяем одного гостя и выводим приглашение.
print ('\n' + guests[1] + ' can not go.\n')
del guests[1]
guests.append('Nuton')
for guest in guests:
print (f'You are invited, {guest}')
#Расширяем список гостей и выводим приглашение.
print ('\nWe can take more guests!\n')
guests.insert(0, 'Janna Dark')
guests.insert(2, 'Ragnar')
guests.append('Svyatoslav')
for guest in guests:
print (f'You are invited,, {guest}!')
#Сокращаем список до 2-х гостей,
#Выводим уведомления для удаленных гостей,
#Выводим уведомления для оставшихся гостей.
print ('\nWe can take only 2 guests!\n')
deleted_guests = []
while len(guests) != 2:
deleted_guests.append(guests.pop())
print (f'Sorry {deleted_guests[-1]}, youre invite is note aviable')
continue
for guest in guests:
print (f"We wait you, {guest}!")
В конце:
del guests[0]
del guests[0]
print (guests)
Я не силен в коде, но как мне кажется: Ваш код не полностью соответствует заданию. Вы не использовали команду del для удаления последних двух гостей и не проверили, что список пуст в конце программы.
Нет необходимости использовать continue в цикле while, так как в вашем случае это не добавляет никакой дополнительной функциональности.
for i in guests.values():
if i == True :
print(guests)
for k,v in guests.items():
if v == True:
print(k)