Top.Mail.Ru
Ответы
Аватар пользователя
1 год назад
от
Изменено

Оцените код для упражнения (Python):

3-7. Сокращение списка гостей: только что выяснилось, что новый обеденный стол привезти вовремя не успеют, и места хватит только для двух гостей.
• Начните с программы из упражнения 3-6. Добавьте команду для вывода сообщения
о том, что на обед приглашаются всего два гостя.
• Используйте метод pop() для последовательного удаления гостей из списка до тех
пор, пока в списке не останутся только два человека. Каждый раз, когда из списка
удаляется очередное имя, выведите для этого человека сообщение о том, что вы сожалеете об отмене приглашения.
• Выведите сообщение для каждого из двух человек, остающихся в списке. Сообщение
должно подтверждать, что более раннее приглашение остается в силе.
• Используйте команду del для удаления двух последних имен, чтобы список остался
пустым. Выведите список, чтобы убедиться в том, что в конце работы программы
список действительно не содержит ни одного элемента.

12345678910111213141516171819202122232425262728293031
 #Определяем список и выводим приглашения. 
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}!") 
Дополнен

В конце:

123
 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)