Почему редактор Sublime Text выдает ошибку «неверный синтаксис» для этого действительного Python кода? - PullRequest
0 голосов
/ 19 апреля 2020
nos=list(map(int,input().split()))
print(nos)

Этот код правильно печатает список в IDE Anaconda, но редактор Sublime Text выдает «неверный синтаксис» в качестве ошибки!

Ответы [ 2 ]

0 голосов
/ 19 апреля 2020

С Python3

ex = list(map(int, input().split()))
# input: 1 34 56
print(ex)
# prints [1, 34, 56]

С Python2

ex = list(map(int, input().split()))
# input: 1 34 56
Traceback (most recent call last):
  File "<stdint>", line 1, in <module>
  File "<string>", line 1
    1 34 56
       ^
SyntaxError: invalid syntax

Раствор

import sys

if sys.version_info[0] == 2:
    # Make input python2 and python3 compatible
    input = raw_input

# Works everywhere
nos=list(map(int,input().split()))
print(nos)

0 голосов
/ 19 апреля 2020

Sublime, вероятно, использует python2, а Anaconda Ide - python3. В python2 вам нужно использовать raw_input вместо input. Функция input в python2 эквивалентна eval(input()) в python3, поэтому входная строка интерпретируется как код python, поэтому вы получаете синтаксическую ошибку.

...