Должен ли ввод Python быть окружен кавычками?

#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 решает эту проблему, спасибо!