数字系统,二进制,罗马,整数
RomanAlphabet的Python项目详细描述
罗马数字或整数可以相互转换,每一个数字的另一个表示形式是二进制的 格式。
安装
$ pip install RomanAlphabet
用法
将整数值表示成罗马数字系统;
:fromromanalphabet.romanalphabetimportRomanAlphabet:rr=RomanAlphabet("4785"):rr.convert_to_roman():'MMMMDCCLXXXV'
或转换成二进制;
...:rr.convert_to_binary():'1001010110001'
数字也可以按如下方式相互相加或相乘;结果可以是三种类型的数字格式;“十进制”、“二进制”或“罗马”;
:RomanAlphabet.addition("roman",1):'I':RomanAlphabet.multiply("roman",1,2,3):'VI':RomanAlphabet.multiply("decimal",1,2,3):6:RomanAlphabet.addition("binary",1,2,3):'110':RomanAlphabet.multiply("decimal",7,4,2,4,2,3):'10101000000'
如果第一个参数不是“十进制”参数中的一个,则将显示以下错误
:RomanAlphabet.multiply("deciaml",7,4,2,4,2,3)---------------------------------------------------------------------------InvalidInputErrorTraceback(mostrecentcalllast)<ipython-input-6-bbd7bcac2f3a>in<module>()---->1RomanAlphabet.multiply("deciaml",7,4,2,4,2,3)/Users/denizci/.virtualenvs/RomanAlphabet/project/RomanNumbers/romanalphabet/romanalphabet.pyinmultiply(returned_base,*args)172exceptTypeError:173raiseInvalidInputError, \ -->174u"first input must be one of 'decimal', 'binary' or 'roman'"175# Decimal multiplication is used for multipling one into another176mutiplied=reduce(lambdax,y:int(RomanAlphabet(x).convert_to_int())*\ InvalidInputError:firstinputmustbeoneof'decimal','binary'or'roman'
罗马数字也可以是一个输入,用整数和二进制格式表示。如果有任何错误,那么作为一个例子,输入没有罗马数字,如果给出,那么将显示一个可以理解的错误。
:rr=RomanAlphabet("CVII"):rr.convert_to_int():107:rr.convert_to_binary():1101011:rr=RomanAlphabet("MXXCVII")---------------------------------------------------------------------------InvalidInputErrorTraceback(mostrecentcalllast)<ipython-input-4-928ae041fe2c>in<module>()---->1rr=RomanAlphabet("MXXCVII")/Users/barbaros/.virtualenvs/RomanAlphabet/project/RomanNumbers/romanalphabet/romanalphabet.pyin__init__(self,input)21ifnotresult:22raiseInvalidInputError, \ --->23"Input has unqualified chars; '%s'"%message2425@staticmethodInvalidInputError:Inputhasunqualifiedchars;'MXXCVII':rr=RomanAlphabet("CTII")---------------------------------------------------------------------------InvalidInputErrorTraceback(mostrecentcalllast)<ipython-input-5-9cb900ee7522>in<module>()---->1rr=RomanAlphabet("TVII")/Users/barbaros/.virtualenvs/RomanAlphabet/project/RomanNumbers/romanalphabet/romanalphabet.pyin__init__(self,input)21ifnotresult:22raiseInvalidInputError, \ --->23"Input has unqualified chars; '%s'"%message2425@staticmethodInvalidInputError:Inputhasunqualifiedchars;'T'