Python3 实现罗马数字转换

Python3 实现罗马数字转换

def Roman_numerals(num):
    # 字典中配置好每个字符对应的数字
    Roman_s = {'I': 1,'V': 5,'X': 10,'L': 50,'C': 100,'D': 500,'M': 1000}   
    s = 0
    
    # 循环n-1次,确定每个数字前的符号,并计算和
    for i in range(len(num)-1):             
        if Roman_s[num[i]]<Roman_s[num[i+1]]:
            s -= Roman_s[num[i]]
        else:
            s += Roman_s[num[i]]
    # 加上最后一个数字
    s += Roman_s[num[-1]]               

    return s

print(Roman_numerals("I"))
print(Roman_numerals("IV"))

结果
1
4

备注:文中没有考虑‘’0‘’的写法
没有考虑在一个数的上面画一条横线的情况
没有考虑错误写法等

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 写在前面的话 代码中的# > 表示的是输出结果 输入 使用input()函数 用法 注意input函数输出的均是字...
    FlyingLittlePG阅读 8,190评论 0 9
  • 一、快捷键 ctr+b 执行ctr+/ 单行注释ctr+c ...
    o_8319阅读 11,137评论 2 16
  • 我始终相信很多不期而遇都是久别重逢,这里的不期而遇不仅仅是人与人的相遇,它也可以是两片叶子的重逢。 我不相信这是缘...
    市井笔农阅读 1,950评论 0 1
  • 要照料好孩子的身体,这是对家长的最基本要求。 孩子的身体怎样才是健康的?每个家长的认识是不同的。能吃能睡不爱生病?...
    杰克言JACKYAN阅读 2,880评论 0 1
  • 今天去参加高中朋友的婚礼,见到许多高中时的同学,讨论间才发现,不知不觉我们距离相识的那年已经8年,回来的路上听着许...
    七不点阅读 1,405评论 0 0

友情链接更多精彩内容