本文实例讲述了Python将阿拉伯数字转换为罗马数字的方法。分享给大家供大家参考。具体实现方法如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
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程序设计有所帮助。