Форум сайта python.su
Здравствуйте уважаемые форумчане!
Может быть подскажет, почему неправильно вводится большое целое число?
ibit=input('Введите целое число:')
print(type(ibit))
print(ibit)
Прикреплённый файлы: image.jpg (409,6 KБ)
Офлайн
Что значит неправильно вводится? Что именно по-вашему тут неправильно?
Офлайн
Посмотрите прикрепленный файл. Если ввожу целое число: 9999999999(десять знаков) или больше, то интерпретатор неправильно его обрабатывает. Число с девятью знаками воспринимает отлично.
Офлайн
А где это ты вводишь? Возьми адекватный интерпретатор, в нём всё должно правильно работать.
Офлайн
Каким интерпретатором вы пользуетесь?
Справа вверху вашей картинки написано Python 3.3.0.
Дело в том, что в версии до 3.0.х действительно,для ввода чисел использовалась функция input(), а для ввода строк - row_input(). А вот более поздние версии канонизировали единственную функцию, input() которая возвращает строку, а преобразование к числу выполняется программно, например конструкцией int(input()). Поэтому надо смотреть документацию по вашему интерпретатору. В дополнении к тому, что он по своему трактует стандарт ввода, в нем, возможно, есть и ограничения на размер вводимых (целых) чисел, для того, что-бы согласовать работу с аппаратной платформой (явно не intel) для которой он предназначен..
Офлайн
Получается, что неккоректно работает функция input(), так как если создается числовой объект в теле программы, без использования input(), то интерпреттатор обрабатывает корректно.
P.s. Специально указал к какому типу преобразует функция input(), на прикрепленном фото, это int
Офлайн
iD_tMax
Использовать python 3.0 - 3.3 крайне не рекомендуется. Считайте эти версии нестабильными, используйте современные версии 2.7 и 3.6, лучше, конечно, 3.6
Отредактировано FishHook (Фев. 22, 2018 12:48:37)
Офлайн
Спасибо всем ответившим! Буду переходить на версию 3.6
Офлайн