Basic program to convert integer to Roman numerals?

后端 未结 24 1331
孤独总比滥情好
孤独总比滥情好 2020-11-30 11:52

I\'m trying to write a code that converts a user-inputted integer into its Roman numeral equivalent. What I have so far is:

The point of the generate_

24条回答
  •  爱一瞬间的悲伤
    2020-11-30 12:29

    roman_map = [(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')]
    
    def IntToRoman (xn):
        x = xn
        y = 0
        Str = ""
        for i, r in roman_map:
             # take the number and divisible by the roman number from 1000 to 1.
            y = x//i    
    
            for j in range(0, y):
                # If after divisibility is not 0 then take the roman number from list into String.
                Str = Str+r 
    
            # Take the remainder to next round.
            x = x%i 
        print(Str)
        return Str
    

    Test case:

    >>> IntToRoman(3251)
    MMMCCLI
    'MMMCCLI'
    

提交回复
热议问题