Почему возникает ошибка в IDLE: ValueError: too many values to unpack (expected 2)?

Добрый день. Опыта программирования почти не имею, решил изучать Python.
В IDLE введена строка.
(a, b) = input()
После запуска программы и ввода двух чисел получаю ошибку
5,6
Traceback (most recent call last):
  File "/Users/Quirel/Documents/Python/Test_script/test1", line 1, in <module>
    (a, b) = input()
ValueError: too many values to unpack (expected 2)

В то же время, если делать это с помощью интерпретатора(вроде так это называется, т.е. в терминале), то все отлично работает:
>>> (a,b)=input()
5,6
>>> print (a,b)
(5, 6)
  • Вопрос задан
  • 10024 просмотра
Решения вопроса 2
Скорее всего idle использует python3, а интерпретатор вы используется от python2.
Ответ написан
@Shetani
В третьем питоне можно сделать так
(a, b) = input().split()
Но при несовпадении количества возвращаемых аргументов будет ошибка, поэтому используем try - except
try:
    (a, b) = input().split()
except ValueError:
    print('Invalid input. Please enter A B')


input в 3 питоне экивалентен raw_input второго питона и возвращает строку.
старый input можно вызвать через eval()

(a, b) = eval(input())
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Lerg
@Lerg
Defold, Corona, Lua, GameDev
А если только одну переменную и затем просто split(',') ?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы