参考:https://blog.csdn.net/weixin_54628931/article/details/123058309
该算法未考虑特殊情况:
如MCM,该算法将拆分为M-C-M
而正确的读取方式应为M-CM修改之后的调试代码:
s='MMCCCXCIX'
dict = {'I': 1, 'V': 5, 'X': 10, 'L': 50, 'C': 100, 'D': 500, 'M': 1000}  # 罗马单个字母的数字值
dict2 = {'IV': 4, 'IX': 9, 'XL': 40, 'XC': 90, 'CD': 400, 'III':3, 'II':2, 'CM': 900}  # 几个特殊情况
dict3 = ('IV', 'IX', 'XL', 'XC', 'CD', 'CM', 'III', 'II')
p = 0# 判定特殊情况字典3
if s in dict3:p = dict2[s]  # 找到其字典所对应的数值# 若不在字典3中
else:i = 0# print(s[i])# print(s[i+1])# print(s[i + 2])while i < len(s) :  # 遍历s,长度为4if i != len(s)-1:b = str(s[i] + s[i + 1]) # 不存在s[i+1]这一元素if i ==len(s)-1:b = s[i]#print(b)#print(i)if b in dict3:p = p + dict2[b]#s而是i、i+1i = i + 2#print("The final i is "+str(i))else:for k, v in dict.items():#k对应名,v对应值if s[i] == k and i !=len(s)-1:i = i + 1p = p + velif s[i] == k and i ==len(s)-1:i= i+1p=p+vbreak
print(p)

算法:Python实现将罗马数字转换为阿拉伯数字相关推荐

  1. Java实现罗马数字转换为阿拉伯数字

    Java实现罗马数字转换为阿拉伯数字 个人原创,谢谢支持 逻辑规则 实现代码 个人原创,谢谢支持 代码个人编写,实测有效,欢迎转载本文链接.https://blog.csdn.net/u0147302 ...

  2. Python:中文数字转换为阿拉伯数字

    Python: 中文数字转换为阿拉伯数字 方法 代码 测试结果 方法 将中文数字字符串识别为一个个片段,每个片段包含数字和数位两部分,例如:"三千七百五十二"将被识别成" ...

  3. python输入转化为数字_用Python罗马数字转换为阿拉伯数字的方法

    def getRomanNum(RomanStr): # 玩蛇网 www.iplaypy.com """Roman numerals will be converted ...

  4. 罗马数字转换为阿拉伯数字

    此处涉及到的特殊模式较少,因此我们可以采用遍历的方法,将模式枚举得出. public class RomanToAlarbot {public static void main(String[] ar ...

  5. python数字转中文字符_Python实现中文数字转换为阿拉伯数字的方法示例

    本文实例讲述了Python实现中文数字转换为阿拉伯数字的方法.分享给大家供大家参考,具体如下: 一.需求 今天写了三千二百行代码. 今天写了3200行代码. 两行意思相同,只是表达方式不太能够,统一掉 ...

  6. python数字转换_Python实现中文数字转换为阿拉伯数字的方法示例

    本文实例讲述了Python实现中文数字转换为阿拉伯数字的方法.分享给大家供大家参考,具体如下: 一.需求 今天写了三千二百行代码. 今天写了3200行代码. 两行意思相同,只是表达方式不太能够,统一掉 ...

  7. 使用python将罗马字转换为对应的阿拉伯数字

    #encoding:utf-8 #将罗马数字转换为阿拉伯数字 dict={'I':1,'V':5,'X':10,'L':50,'C':100,'D':500,'M':1000} #罗马单个字母的数字值 ...

  8. 罗马数字与阿拉伯数字的相互转换

      最近遇到一道非常有趣的题目,题目大意如下:有一个富翁在银河系里做生意,而银河系使用的是罗马数字,所以他需要一个精明能干的助手,帮助他完成罗马数字与阿拉伯数字的相互转换,题目在这个背景下衍生出交易场 ...

  9. java输出罗马数字_Java实现的求解经典罗马数字和阿拉伯数字相互转换问题示例...

    本文实例讲述了Java实现的求解经典罗马数字和阿拉伯数字相互转换问题.分享给大家供大家参考,具体如下: 古罗马帝国开创了辉煌的人类文明,但他们的数字表示法的确有些繁琐,尤其在表示大数的时候,现在看起来 ...

最新文章

  1. 简单综合部署nagios环境
  2. 《电子基础与维修工具核心教程》——2.6 节点分压原理
  3. 校园网站建设策划方案离不开三方面
  4. android java设置颜色_java – 设置背景颜色:Android
  5. 引用变量和指针变量初探
  6. 操作多个表_4_查询不再另外一个表里的记录
  7. java 内部类定于_搞懂 JAVA 内部类
  8. 计算机二级法律一班题目,湖南省计算机二级考试  程序设计题目精选30道
  9. 马上就5g时代了,5g时代有什么风口吗?
  10. 超好用的录屏软件 captura
  11. PDM系统的结构设计
  12. 现代雷达系统分析与设计---数字中频正交采样
  13. [索尼]笔记本电脑驱动程序安装顺序?
  14. 记账系统推荐金蝶精斗云_金蝶精斗云财务软件免费版本在哪里体验?
  15. 英语常用单词分类---1
  16. 世界互联网大会马云演讲实录
  17. xHCI1.1-TRB Ring
  18. github Dns 污染
  19. Android实现FM收音机
  20. 计算机毕业论文怎样写系统的意义,毕业论文写作的目的意义及步骤-计算机论文...

热门文章

  1. vue 接入 facebook 登录的方法(需要翻墙),使用vue-facebook-signin-button插件
  2. SQL Server访问远程数据库,并把其中的一个数据库复制到本地
  3. Mac OS X下各种文件编码的转换方法
  4. 10月9日学习:urlopen报错处理
  5. 腾讯程序员失业3个月,送外卖谋生:人到中年,活成职场“狗不理”
  6. Python-使用imgaug 进行图像增强
  7. protobuf转json
  8. cvCreateVideoWriter生成AVI视频时返回为空问题的终极解决方案
  9. JS-WebAPIs-DOM练习题(tab栏/输入框)
  10. 解压.tar.gz文件