Python将阿拉伯数字转换为罗马数字的方法
本文实例讲述了Python将阿拉伯数字转换为罗马数字的方法。分享给大家供大家参考。具体实现方法如下:
defnumToRomanNum(Num):
"""digitalwillbeconvertedintoRomannumerals,Ex:numToRomanNum(3999)"""
ifNum<1orNum>3999:
print'TheNummustin1-3999'
else:
NumDic={
'1':('I','IV','V','IX'),
'2':('X','XL','L','XC'),
'3':('C','CD','D','CM'),
'4':('M')
}
items=sorted(NumDic.items())
retstr=''
foriteminitems:
str=''
(Num,modNum)=divmod(Num,10)
ifmodNum!=0:
ifitem[0]!='4':
ifmodNum<=3:
whilemodNum>0:
str=str.join(['',item[1][0]])
modNum-=1
elifmodNum<5:
str=item[1][1]
elifmodNum==5:
str=item[1][2]
elifmodNum<9:
str=item[1][2]
whilemodNum>5:
str=str.join(['',item[1][0]])
modNum-=1
else:
str=item[1][3]
else:
whilemodNum>0:
str=str.join(['',item[1][0]])
modNum-=1
retstr=str.join(['',retstr])
returnretstr
希望本文所述对大家的Python程序设计有所帮助。