罗马数字与阿拉伯数字对应关系如下:

且“ii”表示2,“iii”表示3,“iv”表示4,“vi表示6”,“vii”表示7,“viii”表示8,“ix”表示9,其余的类似。

阿拉伯数转换成罗马数字

class solution(object):

def inttoroman(self, num):

"""

:type num: int

:rtype: str

"""

if not num:

return ""

out = ""

i = 3

while i >= 0:

out += self.get_roman(i,num//(10**i))

num %= (10**i)

i -= 1

return out

def get_roman(self,power,quotient):

power_to_roman = {0:["i","v","x"],1:["x","l","c"],2:["c","d","m"],3:["m"]}

romans = power_to_roman[power]

if quotient <= 3:

out = quotient*romans[0]

elif quotient == 4:

out = romans[0]+romans[1]

elif quotient == 5:

out = romans[1]

elif quotient <= 8:

out = romans[1]+(quotient-5)*romans[0]

else:

out = romans[0]+romans[2]

return out

罗马数字转换为阿拉伯数字:

class solution(object):

def romantoint(self, s):

"""

:type s: str

:rtype: int

"""

if not s:

return 0

roman_to_num = {'i':1,"v":5,"x":10,"l":50,"c":100,"d":500,"m":1000}

before = {"v":"i","x":"i","l":"x","c":"x","d":"c","m":"c"}

stack = []

num = 0

i = len(s)-1

while i >= 0:

if not stack:

stack.append(s[i])

else:

last = stack.pop()

if last in before and s[i] == before[last]:

num += roman_to_num[last] - roman_to_num[s[i]]

else:

stack.append(last)

stack.append(s[i])

i -= 1

for i in stack:

num += roman_to_num[i]

return num

希望与广大网友互动??

点此进行留言吧!

python罗马数字转换阿拉伯数字_罗马数字与阿拉伯数字转换相关推荐

  1. apk转换ipa在线转换工具_免费在线PDF转换成WORD转换器推荐

    想要对PDF文档再次编辑的话,就需要将PDF文档转换成WORD文档,现在将PDF转换成WORD文档主要是利用一些转换器的,平时如果转换的比较少的话,一般就用一下免费在线转换器就行了,如果经常转换的话, ...

  2. html如何转换音乐格式,音乐怎么转换格式_音乐文件格式怎么转换-系统城

    在生活中,我们常常会通过听一些音乐来放松自己疲惫的身体,有时候听到自己喜欢的歌曲都会下载到自己的电脑上.而有时候下载下来的音乐格式不支持音乐播放器的播放,这时候我们只需要转换一下音乐格式就可以了.那么 ...

  3. 52 - LeetCode-13 -罗马数字转整数_罗马数字转数字

    //LeetCode-13-数组和mapclass Solution {public:int romanToInt(string s) {map<char,int> map;map['M' ...

  4. js数组对象递归转换树_使用手刹批量转换视频目录树以递归流式传输到Xbox360

    js数组对象递归转换树 I've got many many gigs of 640x480 video of the kids and family taken on my Flip Ultra a ...

  5. c大小写转换函数_字符处理——大小写转换编程思路扩展

    1.简单实现 前面我们实现了首字母大写.转换大写.转换小写3个功能,如果再实现一个大小写互换,有了前面的基础,实现起来应该没什么大问题: Function FUpperLowerSwap(str As ...

  6. ffmpeg js转换音频_微信FFMPEG 扩展转换音频格式

    项目背景: 微信开发中有保存到语音文件到服务器上,便于网页浏览中使用播放. 但是微信下载下来的是 amr格式,但是H5网页元素支持 Mp3格式. 说下流程: 微信 -> JSSDK 录音 --& ...

  7. java时区转换 夏令时_实现时区的转换--涉及到冬令时和夏令时的时候

    #时区转换 主要是用来转换时区用的,特别涉及到冬令时和夏令时的区域,这样会很烦,所以需要用个方法来转换 这个主要是创建一些模型 using System; using System.Collectio ...

  8. 小说中人称转换作用_小说中人称转换作用

    人称作用专题阅读练习 人称专题阅读练习 [阅读目标] 通过阅读指导和训练,弄清文章记叙人称的概念,掌握人称的分类和表达作用,更好地理清文章思路,理 解文章内容,把握文章的中心思想和作者的感情立场. [ ...

  9. python罗马数字转换阿拉伯数字_Python将阿拉伯数字转换为罗马数字的方法

    本文实例讲述了Python将阿拉伯数字转换为罗马数字的方法.分享给大家供大家参考.具体实现方法如下: def numToRomanNum(Num): """digital ...

  10. 罗马数字转换成数字java_C趣味编程百例(31)将阿拉伯数字转换为罗马数字

    95.将阿拉伯数字转换为罗马数字 将大于0小于1000的阿拉伯数字转换为罗马数字.阿拉伯数字与罗马数字的对应关系如下: *问题分析与算法设计 题目中给出了阿拉伯数字与罗马数字的对应关系,题中的数字转换 ...

最新文章

  1. 虚拟机下判断文件或目录是否存在
  2. 怎么计算一组数据的波动_[理论+spss实战]一组数据的描述性统计分析
  3. 【Android】adb架构(客户端(shell/ddms/adt)+本地服务器+daemon)
  4. jpa 循环引用_JPA中按身份引用
  5. linux内核测试,Linux内核测试的生命周期
  6. web元件库/常用web组件/常用表单/导航栏/边框/图标/日期时间选择器/评分组件/穿梭框/输入框/步骤条/计数器/输入框/Axure原型/axure元件库/rp原型/交互控件/五星评分器/导航框架
  7. 互联网的三大巨头 百度 阿里巴巴 腾讯(BAT)
  8. 2022华中杯C题矿井提升机钢丝绳的缺陷分析思路讲解
  9. 玩转openpyxl,用python制作一个公司租车记录登记表!
  10. HTML数据可视化散点图,数据可视化:用散点图进行数据分析
  11. android studio umake,Android Studio中NDK开发傻瓜教程(CMake)
  12. 2018最佳GAN论文回顾
  13. cent ultraiso_园丁cent vs千足的web ai应用
  14. Unity Shader - Specular mode: Specular parameter 高光模式中的高光参数
  15. C语言大写字母转小写字母
  16. 四阶龙格库塔方程解二阶常微分方程组并计算船舶在迎浪下的纵摇埀荡耦合运动方程-附Python代码
  17. 逻辑斯蒂回归实现与参数分析
  18. 锂电池和锂离子电池命名规则
  19. 用计算机画小鸡,水墨电脑画--丝瓜小鸡图
  20. 中学物理教学参考杂志社中学物理教学参考编辑部2022年第21期目录

热门文章

  1. 教育培训机构拼团招生小程序公众号
  2. 直方图python_python实现直方图的应用
  3. 购买腾讯云学生服务器完整过程
  4. 【UVM基础】+uvm_set_verbosity 使用介绍
  5. go基础:xml解析
  6. 对拳击“海盗式”打法特点的剖析
  7. pdf2Image Pdf文件存为jpg NodeJs实现
  8. PMP 项目沟通管理
  9. 不稳定排序算法有哪些
  10. RabbitMQ(二)