罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。

字符          数值
I             1
V             5
X             10
L             50
C             100
D             500
M             1000
例如, 罗马数字 2 写做 II ,即为两个并列的 1 。12 写做 XII ,即为 X + II 。 27 写做  XXVII, 即为 XX + V + II 。

通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 。同样地,数字 9 表示为 IX。这个特殊的规则只适用于以下六种情况:

I 可以放在 V (5) 和 X (10) 的左边,来表示 4 和 9。
X 可以放在 L (50) 和 C (100) 的左边,来表示 40 和 90。 
C 可以放在 D (500) 和 M (1000) 的左边,来表示 400 和 900。
给定一个罗马数字,将其转换成整数。

class Solution:def romanToInt(self,x:string) ->int:sum = 0for i in x:if i == 'I':sum += 1elif i == 'V':if sum % 5 == 1:sum += 3else:sum += 5elif i == 'X':if sum % 10 == 1:sum += 8else:sum += 10elif i == 'L':if sum % 50 == 10:sum += 30else:sum += 50elif i == 'C':if sum % 100 == 10:sum += 80else:sum += 100elif i == 'D':if sum % 500 == 100:sum += 300else:sum += 500elif i == 'M':if sum % 1000 == 100:sum += 800else:sum += 1000return sum

python3罗马数字转数字相关推荐

  1. python:罗马数字与数字互相转换

    1.罗马数字转换为数字 class Solution:def romanToInt(self,s):ROMAN = {'I':1,'V':5,'X':10,'L':50,'C':100,'D':500 ...

  2. python3猜数字,python3实现猜数字游戏

    本文实例为大家分享了python3实现猜数字游戏的具体代码,供大家参考,具体内容如下 需求目标: 需求:猜数字游戏 1: 开始游戏产生一个1~100随机数 2: 用户输入,游戏根据输入值提示大或者小 ...

  3. 回文数、罗马数字转数字、最大公共前缀

    目录 1.LeetCode 9.回文数 题目 小编菜解 思路及算法 大神解法 2.LeetCode 13.罗马数字转数字 题目 小编菜解 3.LeetCode 14.最大公共前缀 题目 小编菜解 大神 ...

  4. 罗马数字向数字的转换

    Roman to Integer: 罗马数字向数字的转换: 这个算法你只要想明白用一个字典去存储罗马数字就可以了,然后通过输入的罗马数字从字典中拿值就欧克了.我就不多说了 代码如下: class So ...

  5. python3字符串转数字_Python 3.6.0 正式版发布附新特性说明

    计划在上周发布的Python3.6.0推迟到昨日发布,你可以点击这里下载最新版的Python3.6.0,那么此次的新版本带来了哪些新的特性呢?下面我们去看一下Python的官方文档. What's N ...

  6. python3字符串转数字_Python3基础语法和基本数据类型

    Python3基础语法 编码 默认情况下,Python3源文件以UTF-8编码,所有字符串都是unicode字符串.当然你也可以为原码文件制定不同的编码:# -*- coding: 编码 -*- 标识 ...

  7. 罗马数字 古罗马数字转换为阿拉伯数字

    标题:罗马数字 /**题目: 古罗马帝国开创了辉煌的人类文明,但他们的数字表示法的确有些繁琐,尤其在表示大数的时候,现在看起来简直不能忍受,所以在现代很少使用了.之所以这样,不是因为发明表示法的人的智 ...

  8. python3 数组重复数字,[python3] 3_01 数组中重复的数字

    题目如下 题目.png 思路1 将输入数组排序,从头到尾扫描排序后的数组. 代码如下 # 03_01_FindDuplication.py class Solution(object): def du ...

  9. python3 字符和数字(ASC码)转换

    print(ord('b')) print(ord('B')) print(chr(98)) print(chr(66)) 结果:98 66 b B 也可以数字转ASC码,原理一样,如下(结果就不输出 ...

最新文章

  1. mysql中tinyint(1)与tinyint(2)的区别
  2. C语言文件最后一行重复储存,求大佬看看,我这个程序为什么保存进文件只有最后一行...
  3. android setting模块,android O版本 设置(Settings)模块总结--设置的一级界面的加载
  4. css 引用otf文件,CSS-如何将OTF / TTF文件转换为EOT格式?
  5. KSQL和Flink SQL的比较
  6. SAP CRM WebClient UI上note下拉列表里类型的过滤逻辑
  7. Activity的呼叫转移*(3个Activity之间的跳转)
  8. 《微软开源跨平台移动开发实践》团购通知
  9. 【DP】Sleeping Cows P(P7154)
  10. 通用数据保护条例_欧盟《通用数据保护条例》——2019年的形势
  11. 查看 固态硬盘位置_3米防摔+人脸/指纹解锁:西数Armorlock移动固态硬盘
  12. 更换mysql_3分钟学会mysql数据库的逻辑架构原理
  13. Google+ 团队的 Android UI 测试
  14. Android Camera数据流分析全程记录(overlay方式一)
  15. vue页面回显数据_解决vue项目中页面调用数据 在数据加载完毕之前出现undefined问题...
  16. npx create-react-app 动不了???(解决方法)
  17. 如何在vue中使用Cesium加载shp文件、wms服务、WMTS服务
  18. 解决天正M_批打印没有天正的打印格式(TArch20V6.ctb)的问题
  19. 2019,一年一度的高考季来临,作文又成热门话题
  20. springboot 实现图片合并

热门文章

  1. flutter showDialog弹窗
  2. 响应式内容滑动插件bxSlider
  3. 企业网盘市场期待大爆发,联想能否“六连庄”?
  4. 团队程序设计天梯赛-1.21排位赛总结
  5. 线性方程求解之 二范数类型
  6. 摄像头参数介绍 ———— 动态范围
  7. C# url 解码 编码
  8. 厨房里有蟑螂怎么办?
  9. Mysql 时间戳转换 FROM_UNIXTIME(unix_timestamp,format)
  10. 数字识别的matlab代码,基于MATLAB数字识别.doc