本帖最后由 haooooaaa 于 2015-06-15 10:59 编辑
- #!/usr/bin/env python
- roman = {1000:"M",900:"CM",500:"D",400:"CD",100:"C",90:"XC",50:"L",40:"XL",10:"X",9:"IX",8:"VIII",7:"VII",6:"VI",5:"V",4:"IV",3:"III",2:"II",1:"I"}
- def mod_check(n, m):
- if n%m != n:
- return n%m
- else:
- return 0
-
- def to_roman(n):
- ro = [1000,900,500,400,100,90,50,40,10,5]
- ro_name = ""
- if n in roman.keys():
- print roman[n]
- else:
- for i in ro:
- a = mod_check(n, i)
- if a == 0:
- continue
- else:
- ro_name = ro_name + roman[i] * (n//i)
- n = n%i
- if n in roman.keys():
- break
- print ro_name + roman[n]
- for i in [3,4,6,9,76,99,199,299,499,3888]:
- to_roman(i)
复制代码 这样似乎不智能了。。。 |