iD_tMax
Фев. 21, 2018 21:48:12
Здравствуйте уважаемые форумчане!
Может быть подскажет, почему неправильно вводится большое целое число?
ibit=input('Введите целое число:')
print(type(ibit))
print(ibit)
FishHook
Фев. 22, 2018 04:41:27
Что значит неправильно вводится? Что именно по-вашему тут неправильно?
iD_tMax
Фев. 22, 2018 08:22:06
Посмотрите прикрепленный файл. Если ввожу целое число: 9999999999(десять знаков) или больше, то интерпретатор неправильно его обрабатывает. Число с девятью знаками воспринимает отлично.
Rodegast
Фев. 22, 2018 09:45:53
А где это ты вводишь? Возьми адекватный интерпретатор, в нём всё должно правильно работать.
passant
Фев. 22, 2018 12:13:31
Каким интерпретатором вы пользуетесь?
Справа вверху вашей картинки написано Python 3.3.0.
Дело в том, что в версии до 3.0.х действительно,для ввода чисел использовалась функция input(), а для ввода строк - row_input(). А вот более поздние версии канонизировали единственную функцию, input() которая возвращает строку, а преобразование к числу выполняется программно, например конструкцией int(input()). Поэтому надо смотреть документацию по вашему интерпретатору. В дополнении к тому, что он по своему трактует стандарт ввода, в нем, возможно, есть и ограничения на размер вводимых (целых) чисел, для того, что-бы согласовать работу с аппаратной платформой (явно не intel) для которой он предназначен..
iD_tMax
Фев. 22, 2018 12:32:05
Получается, что неккоректно работает функция input(), так как если создается числовой объект в теле программы, без использования input(), то интерпреттатор обрабатывает корректно.
P.s. Специально указал к какому типу преобразует функция input(), на прикрепленном фото, это int
FishHook
Фев. 22, 2018 12:48:22
iD_tMax
Использовать python 3.0 - 3.3 крайне не рекомендуется. Считайте эти версии нестабильными, используйте современные версии 2.7 и 3.6, лучше, конечно, 3.6
iD_tMax
Фев. 22, 2018 13:08:55
Спасибо всем ответившим! Буду переходить на версию 3.6