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

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无法将PowerMockito与PowerMockRunnerDelegate设置为SpringJUnit4ClassRunner一起使用   java如何将对象转换为Inputstream   java从Firebase数据库获取用户对象   java从JSON Android获取Int值   arraylist定义Java中用户定义类的二进制搜索   使用Java将参数附加到url   javascript屏蔽ui wicket数据源   Wicket上的java单选按钮在组中不起作用   具有自签名证书的java SSLHandshakeException   如何编写Java程序来打开特定的文件扩展名(.pef)?   Akka 2.3.14和Java 7如何配置TLS   部署servlet时spring“java.lang.IllegalStateException:无ServletContext集”   java如何在eclipse:eclipse之后在maven中执行代码?   第一个位置没有空格的java正则表达式   java在单个节点的Spark中运行计算