20202427-张启辰《Python3初学:罗马数字转阿拉伯数字》

1.规则

罗马数字是古罗马使用的一种记数系统,在阿拉伯数字传入之前使用较为普遍,目前大家可能在钟表、日历、文章的排序 、建筑物、元素周期表等方面还能见到它,因为它的使用在逐渐减少。罗马数字使用了7种符号,其中每个符号对应的阿拉伯数字为:I - 1、V - 5、X - 10、L - 50、C - 100、D - 500、M - 1000,其它罗马数字均有这7种符号组合而成。

罗马数字记数规则:

重复数次:

一个罗马数字重复几次,就表示这个数的几倍。例如MMM表示1000×3=3000。

右加左减:

在较大的罗马数字的右边记上较小的罗马数字,表示大数字加小数字。例如MD表示1500。

在较大的罗马数字的左边记上较小的罗马数字,表示大数字减小数字。例如CM表示900。

左减的数字有限制,仅限于I、X、C、M。比如45不可以写成VL,只能是XLV。

但是,左减时不可跨越一个位值。比如,99不可以用IC(100-1)表示,而是用XCIX([100-10]+[10-1])表示。(等同于阿拉伯数字每位数字分别表示。)

左减数字必须为一位,比如8写成VIII,而非IIX。

右加数字不可连续超过三位,比如14写成XIV,而非XIIII。(见下方“数码限制”一项。)

加线乘千:

在罗马数字的上方加上一条横线,表示将这个数乘以1000,即是原数的1000倍。

同理,如果上方有两条横线,即是原数的1000000(10002)倍。

数码限制:

同一数码最多只能连续出现三次,如40不可表示为XXXX,而要表示为XL。

2.局限性

输入错误的罗马数字也会得到结果

3.Python3解决

python罗马数字转换阿拉伯数字_20202427-张启辰《Python3初学:罗马数字转阿拉伯数字》...相关推荐

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

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

  2. 罗马数字转换的几种方法 python123平台

    罗马数字转换的几种方法 python123平台 题目要求: 将一个罗马数字转换成十进制整数输出,其中,罗马数字的范围为1~3999.‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬ ...

  3. python罗马数字转换,Python3.5实现的罗马数字转换成整数功能示例

    本文实例讲述了Python3.5实现的罗马数字转换成整数功能.分享给大家供大家参考,具体如下: 问题概述: 给定一个罗马数字 ,将罗马数字转换成整数. 如罗马数字I,II,III,IV,V分别代表数字 ...

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

    罗马数字转换成阿拉伯数字 Roman to integer 给出一个罗马数字(字符串),返回此数字的阿拉伯数字(int) Given a roman numeral, convert it to an ...

  5. 罗马数字转换阿拉伯数字(Java版,考虑较为全面)

    一. 前言 朋友的作业,本想在网上找个现成的改改就行啦.可是一番google.baidu之后,找到的要么不是Java版本的,要么就是考虑的不够全面.遂,笔者自己写了个,如有考虑不全面的地方,望大家能够 ...

  6. 【C++】将罗马数字转换成阿拉伯数字

    题目:Given a roman numeral, convert it to an integer. Input is guaranteed to be within the range from ...

  7. python - 算法 - 简单 - 罗马数字转换

    世界上并没有完美的程序,但是我们并不因此而沮丧,因为写程序就是一个不断追求完美的过程. -侯氏工坊 文章目录 题目 思路 实现 题目 [罗马数字转换] 罗马数字包含以下七种字符:I,V,X,L,C,D ...

  8. python查找公共前缀_Python练习【3】【罗马数字转换/查找公共前缀】

    题目1:罗马数字转换 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如,罗马数字2写做 II ...

  9. python罗马数字转换_Python练习【3】【罗马数字转换/查找公共前缀】

    题目1:罗马数字转换 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如,罗马数字2写做 II ...

最新文章

  1. linux默认shell类型转换,Linux中默认的shell如何切换为其他类型的shell
  2. 宏基因组实战8. 分箱宏基因组binning, MqaxBin, MetaBin, VizBin
  3. android运用 sqlite 实现简单的通讯录_大一新生作品:利用 C 语言实现quot;通讯录管理系统quot;,直言太简单...
  4. 上海交大发布「人类行为理解引擎」:深度学习+符号推理,AI逐帧理解大片中每个动作...
  5. AI攻破高数核心,1秒内精确求解微分方程、不定积分,性能远超Matlab
  6. fail2ban防止暴力破解
  7. Pixhawk-姿态解算-互补滤波
  8. Django(part53)--404模板文件
  9. springboot2 多线程写入数据_解决SpringBoot项目使用多线程处理任务时无法通过@Autowired注入bean问题...
  10. hdu 1525 Euclid‘s Game
  11. Java8 Stream详解~遍历/匹配(foreach/find/match)
  12. 设备唯一标志的解决方案
  13. SACD ISO镜像中提取DSDIFF(DFF)、DSF文件
  14. 微信小程序实战五:人脸识别登录的实现
  15. Python视觉深度学习系列教程 第三卷 第11章 车辆识别
  16. 一亿融资在一家芯片初创公司可以烧多久?
  17. 金三银四想跳槽的,要抓紧时间补补了
  18. 赴微软测试工程师必考一道笔试题目
  19. 转:2013年各大小IT公司待遇,绝对真实,一线数据!
  20. 荣耀折叠屏手机如何超越华为?与三星合作就行

热门文章

  1. 使用梯子导致的浏览器不能正常使用
  2. 戏说cosplay武媚娘传奇
  3. python3.8 安装fitter包失败,网上所有办法都试过不行之后!
  4. 如何给MFC对话框添加背景图片
  5. java网络编程---使用URL爬取歌曲
  6. 冷门游戏脚本开发软件-TC
  7. 史记翻译-汉初三杰-韩信-淮阴侯列传第三十二
  8. 《高性能MySQL》 第三章 服务器性能剖析 读书笔记
  9. 软件测试需要学什么?软件测试技能图谱
  10. html雨滴状的图案代码,HTML_HTML5实现晶莹剔透的雨滴特效,复制代码代码如下: html - phpStudy...