@vtaeke

Как удалить последний пункт в списке при выводе, после удаления повторяющихся элементов?

Без пастрами: используя список sandwich_orders из упражнения 7-8, проследите за тем, чтобы значение ‘pastrami’ встречалось в списке как минимум три раза. Добавьте в начало программы код для вывода сообщения о том, что пастрами больше нет, и напишите цикл while для удаления всех вхождений ‘pastrami’ из sandwich_orders. Убедитесь в том, что в finished_sandwiches значение ‘pastrami’ не встречается ни одного раза.

Немного не догоняю, как сделать программу, так чтобы удалялись все элементы 'pastrami'.

sandwich_orders = ['bokaldilo', 'arepa', 'kebab', 'pastrami', 'pastrami', 'pastrami', 'pastrami']
finished_sandwiches = []

while sandwich_orders:
    current_sandwich = sandwich_orders.pop()

    if 'pastrami' in sandwich_orders:
        sandwich_orders.remove('pastrami')
        print("Пастрами больше нет")

    print("Изготовлен сэндвич: " + current_sandwich.title())
    finished_sandwiches.append(current_sandwich)

print("\nГотовы следующие сэндвечи:")
for finished_sandwich in finished_sandwiches:
    print(finished_sandwich.title())
  • Вопрос задан
  • 245 просмотров
Пригласить эксперта
Ответы на вопрос 3
@Drill
finished_sandwiches = [dish  for dish in sandwich_orders if dish != 'pastrami']

print(finished_sandwiches )

In [1]:
['bokaldilo', 'arepa', 'kebab']



Если обязательно нужен цикл while:

while 'pastrami' in sandwich_orders:
    sandwich_orders.pop(sandwich_orders.index('pastrami'))

print(sandwich_orders)

In [2]:
['bokaldilo', 'arepa', 'kebab']
Ответ написан
Комментировать
Tomio
@Tomio
backend developer (python, php)
finished_sandwich = list(filter(lambda item: item != 'pastrami', sandwich_orders))
Ответ написан
Комментировать
@BorisRad
sandwich_orders = [
'пастрами',
'Онигирадзу',
'Крок-месье и крок-мадам',
'пастрами',
'Панини',
'Вада пав'
'пастрами'
]
finished_sandwiches = []
print('сендвича пастрами больше нет')
while 'пастрами' in sandwich_orders:
sandwich_orders.remove('пастрами')
print(sandwich_orders)
while sandwich_orders:
sandwich = sandwich_orders.pop()
print(f"я приготовил {sandwich}")
finished_sandwiches.append(sandwich)

print('приготовленные сендвичи:')
for a in finished_sandwiches:
print(a)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы