python阿拉伯数字转罗马数字,数字转换Python

  python阿拉伯数字转罗马数字,数字转换Python

  标题描述

  罗马数字包含以下七个字符:I、V、X、L、C、D和m。

  字符数值

  我1

  第五版

  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。这一特殊规则仅适用于以下六种情况:

  我可以放在v (5)和x (10)的左边代表4和9。

  x可以放在l (50)和c (100)的左边,代表40和90。

  c可以放在d (500)和m (1000)的左边,分别代表400和900。

  给定一个罗马数字,将其转换为整数。确保输入在1到3999的范围内。

  示例1:

  输入: iii

  输出:3

  示例2:

  输入: iv

  输出:4

  示例3:

  输入: ix

  产出:9

  示例4:

  输入:“lviii”

  产量:58

  解释:l=50,v=5,iii=3。

  示例5:

  输入:“mcmxciv”

  产量:1994年

  解释:m=1000,cm=900,xc=90,iv=4。

  测试中心/站点

  字典映射

  根据索引和比较大小遍历值。

  字典值

  算法

  首先建立一个dict映射符号和值,然后从左到右遍历字符串,判断左右值,定义结果变量存储运算结果:

  S[i]=s[i 1]然后将结果与对应于该字符的数字相加。

  S[i]=s[i 1]然后结果减去字符对应的数字。

  密码

  定义浪漫:

  :类型s: str

  :rtype: int

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

  结果=0

  对于范围内的I(透镜):

  如果我

  结果-=dic[s[i]]

  否则:

  result=dic[s[i]]

  返回答案

  如果你对本文有什么疑问或者想说什么,请点击留言回复,成千上万的网友会为你解答!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: