Изменение представления числа в IDLEPython

Программы на Python
Ответить
Anonymous
 Изменение представления числа в IDLE

Сообщение Anonymous »

Я часто использую Python IDLE в своей повседневной работе, в основном для коротких сценариев, а также в качестве мощного и удобного калькулятора.

Мне обычно приходится работать с разными системами счисления (в основном десятичной, шестнадцатеричной, двоичной и реже восьмеричной и другими системами счисления).

Я знаю, что использование int(), hex(), bin(), October() — это удобный способ перехода от одной системы счисления к другой, а добавление целочисленных литералов с правильным префиксом — это еще один способ выражения число.

Мне довольно неудобно помещать вычисления в функцию только для того, чтобы увидеть результат в правильной базе (а результирующий вывод hex() и подобных функций представляет собой строку), поэтому я пытаюсь создать функцию (или, может быть, оператор?), которая устанавливает внутреннее представление числа IDLE в известное основание (2, 8, 10, 16).

Пример:

Код: Выделить всё

>>> repr_hex() # from now on, all number are considered hexadecimal, in input and in output

>>> 10 # 16 in dec
>>> 0x10 # now output is also in hexadecimal

>>> 1e + 2
>>> 0x20

# override should be possible with integer literal prefixes
# 0x: hex ; 0b: bin ; 0n: dec ; 0o: oct
>>> 0b111 + 10 + 0n10 # dec : 7 + 16 + 10
>>> 0x21 # 33 dec

# still possible to override output representation temporarily with a conversion function
>>> conv(_, 10) # conv(x, output_base, current_base=internal_base)
>>> 0n33
>>> conv(_, 2) # use prefix of previous output to set current_base to 10
>>> 0b100001
>>> conv(10, 8, 16) # convert 10 to base 8 (10 is in base 16: 0x10)
>>> 0o20

>>> repr_dec() # switch to base 10, in input and in output
>>> _
>>> 0n16
>>> 10 + 10
>>> 0n20
Реализация этих функций не кажется сложной, чего я не знаю:
  • Можно ли изменить представление чисел в IDLE?
  • Можно ли сделать это без необходимости изменения самого IDLE (исходный код)? Я просмотрел расширения IDLE, но не знаю, с чего начать, чтобы оттуда получить доступ к внутренним компонентам IDLE.
Спасибо.>

Подробнее здесь: https://stackoverflow.com/questions/343 ... on-in-idle
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»