Python将阿拉伯数字转换为罗马数字的方法

本文实例讲述了Python将阿拉伯数字转换为罗马数字的方法。分享给大家供大家参考。具体实现方法如下:

def numToRomanNum(Num):

"""digital will be converted into Roman numerals,Ex: numToRomanNum(3999)"""

if Num < 1 or Num > 3999:

print 'The Num must in 1-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 = ''

for item in items:

str = ''

(Num,modNum) = divmod(Num,10)

if modNum != 0:

if item[0] != '4':

if modNum <= 3:

while modNum > 0:

str = str.join(['',item[1][0]])

modNum -= 1

elif modNum < 5:

str = item[1][1]

elif modNum == 5:

str = item[1][2]

elif modNum < 9:

str = item[1][2]

while modNum > 5:

str = str.join(['',item[1][0]])

modNum -= 1

else:

str = item[1][3]

else:

while modNum > 0:

str = str.join(['',item[1][0]])

modNum -= 1

retstr = str.join(['',retstr])

return retstr

希望本文所述对大家的Python程序设计有所帮助。

以上是 Python将阿拉伯数字转换为罗马数字的方法 的全部内容, 来源链接: utcz.com/z/334284.html

回到顶部