2013-06-03 2 views
0

Я написал код и скомпилирован на моем ПК с Python3. Но показ ошибки при загрузке на сервер Codechef. Пожалуйста, предложите, я кодирование в первый раз в Python 3.Код не компилируется в Python3

Traceback (most recent call last): 
    File "/run-ls7W2DcLmzUs9GNKbLGN/solution.py", line 41, in <module> 
    l,r,k=map(int,input().split()) 
    File "<string>", line 1 
    9 23 1 
    ^
SyntaxError: invalid syntax 

ответ

3

Вы используете python2.x, который оценивает строку вы вводите для input. Измените функцию от input до raw_input, и все должно быть установлено.

Если вы хотите, чтобы код работал как для python2.x и python3.x, вы могли бы сделать простой маленький хак, как это в верхней части вашего скрипта:

try: 
    #This raises `NameError` on python3.x since `raw_input` is renamed to `input` 
    input = raw_input 
except NameError: 
    pass 

Это не красиво, но это (и я иногда использовал такие вещи). В конечном счете, это затеняет встроенный файл input на python2.x, но это действительно не очень. Вы, вероятно, не хотите использовать эту встроенную систему для любого серьезного кодирования.

+2

Или на самом деле использовать Python 3.x –

+0

@Lattyware - естественно. – mgilson

+1

Если вы пишете обратный совместимый код, я бы порекомендовал его другим способом: 'if sys.version_info> = (3): raw_input = input', поэтому вы не путаете программистов Python 2. – RoadieRich

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