Python数组实战【Dream的刷题乐园⚡】❤️LeetCode每日游园系列❤️——12.整数转罗马数字
📢📢📢📣📣📣
🐸Hello,大家好我是Dream,欢迎大家来到刷题乐园😜😜😜🐹
游园须知:这片乐园从不缺乏天才,努力才是你的最终入场券!🚀🚀🚀
🐹
导游主要使用Python语言,同时欢迎其他语言的小伙伴进来玩耍
☀️☀️☀️
🐹游园过程中,如果发现有错误的话,欢迎大家评论区及时斧正❤️❤️❤️
🐹
最后,祝大家游园愉快,一起加油进步🍺🍺🍺
💦乐园描述
罗马数字包含以下七种字符:I,V,X,L,C,D和M。
字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做II,即为两个并列的 1。12 写做XII,即为X+II。 27 写做XXVII, 即为XX+V+II。
通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做IIII,而是IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 。同样地,数字 9 表示为IX。这个特殊的规则只适用于以下六种情况:
I可以放在V(5) 和X(10) 的左边,来表示 4 和 9。 X可以放在L(50) 和C(100) 的左边,来表示 40 和90。 C可以放在D(500) 和M(1000) 的左边,来表示400 和900。 给定一个整数,将其转为罗马数字。输入确保在 1到 3999 的范围内。
示例1:
输入:3 输出: "III" 示例2:
输入:4 输出: "IV" 示例3:
输入:9 输出: "IX" 示例4:
输入:58 输出: "LVIII" 解释: L = 50, V = 5, III = 3. 示例5:
输入:1994 输出: "MCMXCIV" 解释: M = 1000, CM = 900, XC = 90, IV = 4.
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
💦游园准备
主要是创建出我们所需要的数组:temp=((1000, 'M'), (900, 'CM'), (500, 'D'), (400, 'CD'), (100, 'C'), (90, 'XC'), (50, 'L'), (40, 'XL'), (10, 'X'), (9, 'IX'), (5, 'V'), (4, 'IV'), (1, 'I'))
从大到小依次进行遍历,并将数字除此要转化的数字div=num//i
,若结果为0,说明数字太小不能够转化,当数字整除要转化的数字后,结果不为0说明:可以转化! 当出现目标对象时,将其转化为罗马数字:ret+=j*div
然后再将此数字进行相应的缩小num-=div*i
。
为了节省时间,当数字变为0时,便可以退出遍历:if num==0: break
💦开始游玩
# -*-coding:utf-8 -*-
# @Author:到点了,心疼徐哥哥
# 奥利给干!!!
def intoRom(num):
temp=((1000, 'M'), (900, 'CM'), (500, 'D'), (400, 'CD'),
(100, 'C'), (90, 'XC'), (50, 'L'), (40, 'XL'),
(10, 'X'), (9, 'IX'), (5, 'V'), (4, 'IV'), (1, 'I'))
ret=''
for i,j in temp:
div=num//i
if div:
ret+=j*div
num-=div*i
if num==0:
break
return ret
print(intoRom(800))
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
💦游玩总结
The stage extends as far as the heart goes~加油!❤️❤️❤️
**🏅今天是我打卡的第十五天,希望每天都能见到最棒的你🏅**
📢📢📢最后的福利
🍋🍋🍋最后一点小福利带给大家:如果想快速上手python的小伙伴们,这个详细整理PPT可以迅速帮助大家打牢python基础,需要的小伙伴们可以下载一下 Python入门基础教程全套+小白速成+学不会来找我! 🍻🍻🍻
还有自制表白神器,需要自取:
Python表白神器,源码+解析+各种完美配置+浪漫新颖 🍻🍻🍻
🌲🌲🌲 好啦,这就是今天要分享给大家的全部内容了
❤️❤️❤️如果你喜欢的话,就不要吝惜你的一键三连了~
文章来源: xuyipeng.blog.csdn.net,作者:是Dream呀,版权归原作者所有,如需转载,请联系作者。
原文链接:xuyipeng.blog.csdn.net/article/details/120168239
- 点赞
- 收藏
- 关注作者
评论(0)