20202427-张启辰《Python3初学:罗马数字转阿拉伯数字》
2024-10-09 22:06:36
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解决
最新文章
- 读书笔记--SQL必知必会12--联结表
- Push:iOS基于APNS的消息推送
- html5,表单与label标签配套使用
- DFD数据流程图
- Java 获取距离最近一段时间的时间点
- js获取各种宽高方法
- jquery click &; get value of attributes of a href
- Linux修改 DNS
- eclipse通过classpath variable引用类库
- Mono+CentOS+Jexus
- 但从谈论性能点SQL Server选择聚集索引键
- git submodule相关操作
- JSP三大指令 六大内置对象
- Java【第二篇】基本语法之--进制、运算符
- Spring Boot事务管理(下)
- jquery----ajax解决scrf问题
- node api 之:util
- java实验报告一
- Get与Post提交方式的区别
- event对象的理解
热门文章
- day58:Linux:BashShell&;linux文件管理&;linux文件下载上传
- 原创-公司项目部署交付环境预检查shell脚本
- Spring Cloud实战 | 最终篇:Spring Cloud Gateway+Spring Security OAuth2集成统一认证授权平台下实现注销使JWT失效方案
- git如何上传文件夹
- 海量数据分库分表方案(二)技术选型与sharding-jdbc实现
- MacOS如何正确配置Idea自带Maven插件的环境变量?(亲测)
- DES加解密算法(C语言实现)
- 【Excel技巧】用IF函数进行等级评定
- K8S基础
- 多测师讲解自动化测试 _RF课堂_定位详解(002上午)_高级讲师肖sir