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解决

最新文章

  1. 读书笔记--SQL必知必会12--联结表
  2. Push:iOS基于APNS的消息推送
  3. html5,表单与label标签配套使用
  4. DFD数据流程图
  5. Java 获取距离最近一段时间的时间点
  6. js获取各种宽高方法
  7. jquery click & get value of attributes of a href
  8. Linux修改 DNS
  9. eclipse通过classpath variable引用类库
  10. Mono+CentOS+Jexus
  11. 但从谈论性能点SQL Server选择聚集索引键
  12. git submodule相关操作
  13. JSP三大指令 六大内置对象
  14. Java【第二篇】基本语法之--进制、运算符
  15. Spring Boot事务管理(下)
  16. jquery----ajax解决scrf问题
  17. node api 之:util
  18. java实验报告一
  19. Get与Post提交方式的区别
  20. event对象的理解

热门文章

  1. day58:Linux:BashShell&linux文件管理&linux文件下载上传
  2. 原创-公司项目部署交付环境预检查shell脚本
  3. Spring Cloud实战 | 最终篇:Spring Cloud Gateway+Spring Security OAuth2集成统一认证授权平台下实现注销使JWT失效方案
  4. git如何上传文件夹
  5. 海量数据分库分表方案(二)技术选型与sharding-jdbc实现
  6. MacOS如何正确配置Idea自带Maven插件的环境变量?(亲测)
  7. DES加解密算法(C语言实现)
  8. 【Excel技巧】用IF函数进行等级评定
  9. K8S基础
  10. 多测师讲解自动化测试 _RF课堂_定位详解(002上午)_高级讲师肖sir