力扣:12正数转罗马数字(python) 简单粗暴解决方法

class Solution:
    def intToRoman(self, num: int) -> str:
        res = []
        if num >= 1000:
            res.append("M"*(num//1000))
            num -= (num//1000*1000)

        ##################:处理百位
        if num >= 900:
            res.append("CM")
            num = num-900
        if 500 <= num < 900:
            res.append("D")
            num -= 500
        if 400 <= num < 500:
            res.append("CD")
            num -= 400
        if 100<= num < 400:
            res.append("C" * (num//100))
            num -= (num//100*100)
        ##################  处理十位
        if 90 <= num < 100:
            res.append('XC')
            num -= 90
        if 50 <= num < 90:
            res.append("L")
            num -= 50
        if 40 <= num:
            res.append("XL")
            num -= 40
        if 10 <= num < 40:
            res.append("X" * (num//10))
            num -= (num//10*10)

        #######################  处理个位数
        if num == 9:
            res.append("IX")
            num -= 9
        if 5 < num < 9:
            res.append("V")
            num = num - 5
        if num == 5:
            res.append("V")
            num -= 5
        if num == 4:
            res.append("IV")
            num -= 4
        res.append("I"*(num))

        return ("".join(res))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值