有理数在任意基中的字符串表示
justbases-string的Python项目详细描述
目的
用于从数字生成可读字符串值的小型库 有任意的基础。数字由五个元素表示:
标志
-1、1或0(视情况而定)
整数部分
非负整数的列表,其中每个元素都小于基值
非重复小数部分
非负整数的列表,其中每个元素都小于基值
重复的小数部分
非负整数的列表,其中每个元素都小于基值
基数
数字的基数,必须是大于1的整数。
用法
>>> from justbases_string import * >>> xformer = String(DisplayConfig(), 2) >>> xformer.xform(-1, [1, 0, 1], [], [1, 0], 0) '-101.(10)_2' >>> xformer.xform(0, [], [0, 0], [], 0) '0_2'
如果数字部分不符合 必要的约束条件:
>>> xformer.xform(1, [2], [0, 0], [], 0) Traceback (most recent call last): ... >>> xformer.xform(1, [-1], [0, 0], [], 0) Traceback (most recent call last): ...
配置字符串结果有许多选项:
>>> digits_config = DigitsConfig(use_letters=False) >>> xformer = String(DisplayConfig(digits_config=digits_config), 1024) >>> xformer.xform(1, [2], [2, 4, 256], [], 0) '2.2~4~256_1024' >>> digits_config = DigitsConfig(use_caps=True) >>> xformer = String(DisplayConfig(digits_config=digits_config), 16) >>> xformer.xform(1, [], [0, 13], [], 0) '0.0D_16'
最后一个参数是显示的值与值的关系 它表示:
>>> xformer.xform(1, [2], [2, 4, 256], [], Fraction(1, 3)) '< 2.2~4~256_1024'