2015-06-03 2 views
-2
driver_name = print(raw_input('What is your name?: ')) 

Я полагал, что это может создать что-то вроде консольного ввода, чтобы ввести имя, но я был неправ, и это возвращает SyntaxError. Я пробовал и без круглых скобок, но безрезультатно.Создание переменной в качестве raw_input, ошибка синтаксиса

+1

печать не может быть назначен ни к чему в Python 2 –

+1

Даже если это может быть, как в Python 3, 'print' всегда возвращает' None' ... – jonrsharpe

ответ

1
driver_name = raw_input("Your Name") 
print driver_name 

в python2 вы не можете назначить печать на что-либо, как это заявление вместо выражения

x=print("anything") 

всегда ошибка синтаксиса в python2

вы могли бы сделать что-то вроде

from __future__ import print_statement 
x = print(raw_input("whatever")) #as mentioned you will always get None as the value 

Если вы действительно очень хотели, чтобы вы могли сделать что-то вроде

def print_and_return(value): 
    print value 
    return value 

driver_name = print_and_return(raw_input("Name?")) 
+1

В более поздних версиях Python 2 вы можете делать «из __future__ import print_function», а затем он становится синтаксически действительным, но даже тогда возвращаемое значение 'print' равно' None', поэтому входное значение будет потеряно. – kindall

+0

вы могли бы сделать некоторые хакеры, чтобы заставить его работать ... но, вероятно, не очень хорошо –

+0

Да, вы можете переопределить 'print', чтобы он возвращал все, что он печатает ... что означало бы полную повторную реализацию каждого аспекта' print', кроме что он строит строку. – kindall

1

Набор driver_name = raw_input('What is your name?') и затем print driver_name

Смежные вопросы