аватар question@mail.ru · 01.01.1970 03:00

Метод split в python

Код:

a=input().split()print(a)

При подаче на ввод строки '1 2 3'

Traceback (most recent call last):   File """", line 1, in <module>        a=input().split()   File ""<string>"", line 1    1 2 3      ^ SyntaxError: invalid syntax

Выражение взято из примера, должно работать. В чем может быть загвоздка?

аватар answer@mail.ru · 01.01.1970 03:00

Это не split - это input вываливает исключение. А все почему? Безблагодатность. говорит вот что - input делает две вещи:

1) Читает из stdin.

2) Все, что прочитано, выполняется (eval).

Соответственно, строка 1 2 3 не может быть выполнена из-за неверного синтаксиса. В Py3 поведение input() изменили, чтобы люди больше не путались. Используйте . Или Python3. А еще можно воспользоваться библиотекой , чтобы при внезапном переезде на другую версию ваш код не поломался, потому что в Py3 функция raw_input() отсутствует.

Последние

Похожие