#python #string #input #quotes
Вопрос:
Это должно быть просто, но мне трудно найти объяснение. Вот мой код:
car = input("What kind of car would you like? ")
print("nLet me see if I can find a {}".format(car))
Затем терминал запрашивает тип автомобиля.
Я вхожу: Форд
Я получаю эту ошибку:
What kind of car would you like? Ford
Traceback (most recent call last):
File "rental_car.py", line 1, in <module>
car = input("What kind of car would you like? ")
File "<string>", line 1, in <module>
NameError: name 'Ford' is not defined
Если я введу: «Форд», программа
запустится, как и ожидалось.
Требует ли Python кавычек для входных значений, отличных от чисел?
Любая помощь будет признательна!
Комментарии:
1. нет, возможно, проблемы с компилятором
2. Спасибо, я ценю это!
Ответ №1:
В Python 2.x функция input
оценивает все, что вводит пользователь. Как указано в документах, это эквивалентно eval(raw_input(...))
.
Поэтому на Python 2.x вы должны использовать raw_input
вместо этого.
Или, для совместимости между Python 2 и 3, вы можете использовать six.moves.input
.
Комментарии:
1. raw_input решает эту проблему, спасибо!