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怎样读取txt文件的数据内容(Python实现读取txt文件中的数据并绘制出图形操作示例)
- 在python中如何删除指定的行(Python删除n行后的其他行方法)
- nginxpython编写模块(Python开发之Nginx+uWSGI+virtualenv多项目部署教程)
- python数据分析pandas教程(11个Python Pandas小技巧让你的工作更高效附代码实例)
- python全局变量设置(Python3.5局部变量与全局变量作用域实例分析)
- python ssh登录服务器(python利用跳板机ssh远程连接redis的方法)
- python 的常用工具(Python静态类型检查新工具之pyright 使用指南)
- python爬虫爬取网页信息教程(python爬虫爬取微博评论案例详解)
- python转pdf教程(Python实现将HTML转成PDF的方法分析)
- python下载后依然打不开文件(解决python打不开文件文件不存在的问题)
- python怎么装opencv(Python基于opencv实现的简单画板功能示例)
- 简述python2与python3的不同点(Python2与Python3的区别实例分析)
- python多线程和多进程应用场景(Python多线程处理实例详解单进程/多进程)
- python查找含特定字符的字符串(Python实现查找字符串数组最长公共前缀示例)
- python中return 类的实例(Python实现Event回调机制的方法)
- python线程安全队列(Python 限制线程的最大数量的方法Semaphore)
- 三分71 生死战爆发 篮网旧将丁威迪今天成奇兵,助队赢球(三分71生死战爆发)
- 《红 雄安》系列广播剧第一集 水上奇兵雁翎队(雄安系列广播剧第一集)
- 小说 小伙穿越成刘备,用现代知识指挥作战,众谋士都看呆了(小伙穿越成刘备)
- 解析葡萄牙6-1瑞士 进攻多点开花,贡萨洛-拉莫斯一战成名(解析葡萄牙6-1瑞士)
- 这支 奇兵队 腕大 有范儿还各怀绝技,毒贩杀人犯见了都要仓皇而逃(这支奇兵队腕大)
- 雄藩崛起 奇兵队与幕末长州藩军事改革(雄藩崛起奇兵队与幕末长州藩军事改革)
热门推荐
- dedecms图集关键词(Dedecms 生成漂亮整齐的缩略图)
- django实现登录注册(django与小程序实现登录验证功能的示例代码)
- js中alert相关知识点(js中getBoundingClientRect 方法案例详解)
- vue浏览pdf文件(如何在vue中使用pdfjs预览pdf文件)
- 怎样用sql删除表里的重复数据(sql 删除表中的重复记录)
- SqlServer 复制中将大事务分成小事务分发的方法(SqlServer 复制中将大事务分成小事务分发的方法)
- python pandas 匹配值(python 使用pandas计算累积求和的方法)
- 云主机免费体验(免费云主机试用一年靠谱吗)
- python自带的ide的使用(基于python的ini配置文件操作工具类)
- MVC中的ActionResult
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9