Top.Mail.Ru
Ответы

Python ошибка bad input

Почему высвечивается ошибка bad input
answer = input('Желаете изучить хиты продаж?:')
category = input('Интересующая категория:')
if category = 'продукты'
print('Молоко 1л, Печенье с изюмом, Персики')
else:
if category = ('Остальные категории')
print('Стиральный порошок, Щётка для обуви')
else:
if category = ('Клиент не ответил «да»')
print('Дайте знать, если передумаете!')

Только авторизированные пользователи могут оставлять свои ответы
Дата
Популярность
Аватар пользователя
Мудрец

Ошибка "bad input" возникает, когда пользователь вводит некорректные данные, которые не соответствуют ожидаемому типу или формату.

В данном коде есть несколько проблем. Первая проблема заключается в том, что операторы сравнения должны быть написаны с двумя символами равенства "==". Если написать один символ "=", то это будет означать присваивание, а не сравнение, что может привести к ошибке.

Кроме того, в каждом условном операторе не хватает двоеточия в конце строки.

Вот исправленный код:

python

answer = input('Желаете изучить хиты продаж?:')
category = input('Интересующая категория:')

if category == 'продукты':
print('Молоко 1л, Печенье с изюмом, Персики')
elif category == 'Остальные категории':
print('Стиральный порошок, Щётка для обуви')
else:
print('Дайте знать, если передумаете!')

Теперь при вводе некорректных данных будет выведено сообщение по умолчанию, указанное в последнем условном операторе. Если вы хотите, чтобы программа выдавала какое-то другое сообщение об ошибке при некорректном вводе, то это нужно добавить отдельно в код.

Аватар пользователя
Мастер

У тебя ошибка в импуте, питон не знает какого вида переменная answer, если это буквы, поставь перед импут str
Так:answer=str( input())