python数字形式转换详解(Python3.5实现的罗马数字转换成整数功能示例)
类别:脚本大全 浏览量:1086
时间:2022-01-23 02:28:32 python数字形式转换详解
Python3.5实现的罗马数字转换成整数功能示例本文实例讲述了python3.5实现的罗马数字转换成整数功能。分享给大家供大家参考,具体如下:
问题概述:
给定一个罗马数字 ,将罗马数字转换成整数。
如罗马数字i,ii,iii,iv,v分别代表数字 1, 2, 3, 4, 51,2,3,4,5。
首先要来了解一下罗马数字表示法,基本字符有 7 个:i、v、x、l、c、d、m,分别表示 1、5、10、50、100、500、1000。
在构成数字的时候,有下列规则:
1、相同的数字连写,所表示的数等于这些数字相加得到的数,如:iii = 3;
2、小的数字在大的数字的右边,所表示的数等于这些数字相加得到的数, 如:viii = 8;xii = 12;
3、小的数字,(限于ⅰ、x和c)在大的数字的左边,所表示的数等于大数减小数得到的数,如:iv = 4;ix = 9;
4、正常使用时,连写的数字重复不得超过三次。
输入格式
输入一个罗马数字字符串,其对应的数字为 s (1≤s≤3999)。
输出格式
输出对应的整数 s。
以下是详细代码:
|
# -*- coding:utf-8 -*- #! python3 chart = { 'i' : 1 , 'v' : 5 , 'x' : 10 , 'l' : 50 , 'c' : 100 , 'd' : 500 , 'm' : 1000 } strs = input () result = 0 omit = - 1 # omit为需省略的字符位 if strs in chart: print (chart[strs]) else : for i in range ( len (strs)): # 遍历字符串的每一位:(0,len-1) if i = = omit: # 如果无需省略i pass elif i < = len (strs) - 2 : # 如果还没有遍历到最后一位:(len-1-1) if chart[strs[i]] < chart[strs[i + 1 ]]: # 如果前一位对应值小于后一位的 result + = chart[strs[i + 1 ]] - chart[strs[i]] # 进行减操作 omit = i + 1 # 省略下一位字符 else : result + = chart[strs[i]] else : # 遍历到最后一位 result + = chart[strs[i]] print (result) |
测试运行结果:
如有更好更简洁的想法,请留言
希望本文所述对大家python程序设计有所帮助。
原文链接:https://blog.csdn.net/weixin_39406894/article/details/80468036
您可能感兴趣
- python读取word的表格(Python使用reportlab模块生成PDF格式的文档)
- python中字典的主要特点(Python里字典的基本用法包括嵌套字典)
- python读取mat文件(详解Python Matplot中文显示完美解决方案)
- python比较两文件内容(Python判断两个文件是否相同与两个文本进行相同项筛选的方法)
- python数据存取(python异步存储数据详解)
- python线程池怎么设置(python自定义线程池控制线程数量的示例)
- python画佩奇(啥是佩奇?使用Python自动绘画小猪佩奇的代码实例)
- python读取文件的方法和区别(浅谈PYTHON 关于文件的操作)
- python气温变化数据分析(基于python历史天气采集的分析)
- python时间类的实现(Python日期时间Time模块实例详解)
- python撤回的微信消息怎么看(Python实现微信消息防撤回功能的实例代码)
- 基于pythonopencv的图片识别(Python Opencv实现图像轮廓识别功能)
- pythondatetime库详解(python使用time、datetime返回工作日列表实例代码)
- python迭代列表解析(Python可迭代对象操作示例)
- python ip代理池(Python 实现域名解析为ip的方法)
- python怎么取出列表(Python 利用切片从列表中取出一部分使用的方法)
- 靳东新剧《精英律师》定档,众星云集,这剧可追(靳东新剧精英律师定档)
- 精英律师 廖佳敏封印恋情曝光,顾婕马失前蹄 你个老不死的(廖佳敏封印恋情曝光)
- 以家人之名广受好评,剧情生动引起观众共鸣,演员张新成圈粉无数(以家人之名广受好评)
- 三兄妹感情再遇波折,人设接连崩塌 《以家人之名》剧情猜不透(三兄妹感情再遇波折)
- 《小敏家》金波想要复婚 这只是他圈套的第1步,更可恶的在后面(小敏家金波想要复婚)
- 小敏家 剧情离谱一锅乱炖,但他们俩绝对是这部剧的一大 亮点(剧情离谱一锅乱炖)
热门推荐
- dede标签调用大全(织梦dede所有实用标签调用方法搜集整理)
- php中三种变量的作用区域(PHP global全局变量经典应用与注意事项分析附$GLOBALS用法对比)
- css基础选择器的语法格式(css -webkit-line-clamp WebKit的CSS扩展WebKit是私有属性)
- dedecms替换条件(dedecms制作英文站需要修改的地方)
- html5标签怎么做(html5用video标签流式加载的实现)
- dedecms有哪些功能(dedecms 二次开发之审核时间同步更新)
- 云服务器需要都有什么技术(浅谈云服务器配置应该如何选择?)
- react代码展示(教你如何从 html 实现一个 react)
- js时间变成日期格式(js日期时间格式化的方法实例)
- docker容器运行环境(Docker 清理环境操作)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9