使用罗马数字输入和输出的整数子集类

romanclass的Python项目详细描述


“罗马”对象作为二进制整数存储在计算机中,
但它以罗马数字显示。
(从技术角度来说,它是内置类int的一个子集,
使用返回罗马数字字符串的str()方法。)
[灵感请参见PEP 313]

此模块具有与mark pilgrim的roman.py模块兼容的.toroman()和.fromroman()方法,但具有更大的范围、更宽容的解析器,并允许构造第一类Roman对象。

罗马对象的行为非常类似于python中内置的十进制对象,
它们可以加、减、乘或除,结果将是
同一类的另一个对象。

因此程序员可以说:

>>>将RomanClass导入为Roman

>;>two=罗马。罗马(2)

>;>;五=罗马。罗马('v')

>;>>打印(2+5)

计算机将打印:



此模块使用Unicode字符支持0<;=n<;600000范围内的数字,
并有一个可选的.tounicoderoman()方法,该方法将输出真正的unicode
i v x l c d m的字符点(而不是它们看起来相似的ascii值)
并将i到xii的点输出为单个unicode代码点。

.toroman()方法[和str()函数]将输出与ascii兼容的
值的字符串<;=3999。

字符串“nulla”[拉丁语表示“nothing”]将以零值输出。

超出范围的值将引发RomanClass.OutOfRangeError

格式错误的罗马数字输入字符串将在.fromRoman()或初始化罗马对象时引发RomanClass.InvalidRomanNumeralError。

caesarcalc.py,一个简单的四功能罗马计算器作为测试/演示提供。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java图像在图像视图中不可见   java在抽象表模型中实现复选框   java第二个JOptionPane。showInputDialog未打开   如何将字符串中的非常大的二进制文件转换为Java中的八进制文件   基于关键字的Java文本解析算法   java Axonix(Mobiclix)错误代码999999   servlets严重错误:java web应用程序中的listenerStart错误   数据结构如何在java中反转枚举元素的内容   反射检查这是什么java类类型   java LWJGL 3没有检测到OpenGL   java如何实现Github库?   Java从终端读取参数   java在多个踏板上使用相同的可运行引用   java Play Framework 2.5应用程序无可见原因崩溃   并发性在Java中我们可以同时使用fork/join和executor服务吗?   java从树上的特定类到对象,并获取其方法(无需多次编写)   java如何在FragmentStateAdapter中获取片段   java无法使用Spring Boot访问静态资源