Как соединить два input() в одну переменную?
zakaz = ('Какое дополнение для пиццы желете?'
'\\nЕсли дополнения не требуются, напишите НЕТ:')
zakaz2 = ('Какое еще дополнение для пиццы желете?'
'\\nЕсли дополнения не требуются, напишите НЕТ:')
while True:
message = input(zakaz)
if message != 'нет':
print(f'{message.title()} , добавлен!')
input(zakaz2)
continue
else:
print('Ваша пицца готова')
break
Подскажите, пожалуйста, как сделать, чтобы после введения данных в input(zakaz2)
они становились значением message
и цикл while
начинался заново?
Ответы (3 шт):
Автор решения: NikShel
→ Ссылка
zakaz = ('Какое дополнение для пиццы желете?'
'\\nЕсли дополнения не требуются, напишите НЕТ:')
zakaz2 = ('Какое еще дополнение для пиццы желете?'
'\\nЕсли дополнения не требуются, напишите НЕТ:')
while True:
message = input(zakaz)
if message != 'нет':
print(f'{message.title()} , добавлен!')
message2 = input(zakaz2)
print(f'{message2.title()} , добавлен!')
continue
else:
print('Ваша пицца готова')
break
проверяйте
Автор решения: Amgarak
→ Ссылка
Я бы сделал как-то так:
order = "Введите дополнение для пиццы (или 'нет' для завершения): "
def get_pizza() -> list:
pizza = []
while topping := input(order).strip().lower():
if topping == 'нет':
break
pizza.append(topping.title())
print(f"{topping.title()} добавлен!")
return pizza
def print_pizza(pizza: list):
if pizza:
print(f"Ваша пицца готова с добавками: {', '.join(pizza)}.")
else:
print("Вы выбрали пиццу без добавок.")
if __name__ == "__main__":
toppings = get_pizza()
print_pizza(toppings)
Не вижу особого смысла иметь 2 разных описания для
input()
, ведь они почти идентичные.А сами дополнения наверное стоит сохранить? Что бы можно было с ними в дальнейшем работать.
Ваш код можно поправить так:
zakaz = ('Какое дополнение для пиццы желете?'
'\\nЕсли дополнения не требуются, напишите НЕТ:')
zakaz2 = ('Какое еще дополнение для пиццы желете?'
'\\nЕсли дополнения не требуются, напишите НЕТ:')
message = input(zakaz).strip().lower()
while True:
if message != 'нет':
print(f'{message.title()} , добавлен!')
message = input(zakaz2).strip().lower()
else:
print('Ваша пицца готова')
break
- Первый
input()
вызывать до цикла, второйinput()
уже внутри while перезаписывая переменную message. continue
- тут не нужен, цикл и без этого пойдёт дальше..strip().lower()
- уберёт лишние пробелы и приведёт всё к нижнему регистру.
Автор решения: S. Nick
→ Ссылка
Как вариант:
txt_zakaz = input('''
Пожалуйста, перечислите через запятую,
дополнительные ингредиенты для вашей пиццы.
Если дополнения не требуются, напишите Enter:
''')
list_dop_zakaz = list(map(lambda x: x.strip(), txt_zakaz.split(',')))
print('\n\n')
if list_dop_zakaz:
for dop_zakaz in list_dop_zakaz:
if dop_zakaz:
print(f'\t- добавлен: {dop_zakaz.title()};')
print('Ваша пицца готова!\n\n')