Python将整数转换为罗马数字

2018-03-30  本文已影响0人  偷橘子的喵

输入格式

第一行输入一个整数 num(1≤num≤3999)

输出格式

输出 num 对应的罗马数字。

num = int(input())
# 确定个十百千各自位置上的0~9对应罗马字母
c = {
    'g': ('', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX'),
    's': ('', 'X', 'XX', 'XXX', 'XL', 'L', 'LX', 'LXX', 'LXXX', 'XC'),
    'b': ('', 'C', 'CC', 'CCC', 'CD', 'D', 'DC', 'DCC', 'DCCC', 'CM'),
    'q': ('', 'M', 'MM', 'MMM')
}
roman = []
# 用整除和取余获得个十百千对应的数字
roman.append(c['q'][num // 1000])
roman.append(c['b'][(num // 100) % 10])
roman.append(c['s'][(num // 10) % 10])
roman.append(c['g'][num % 10])

print(''.join(roman))
上一篇 下一篇

猜你喜欢

热点阅读