# Integer to roman numeral

Python, Math, String · Nov 2, 2020

Converts an integer to its roman numeral representation. Accepts value between `1` and `3999` (both inclusive).

• Create a lookup list containing tuples in the form of (roman value, integer).
• Use a `for` loop to iterate over the values in `lookup`.
• Use `divmod()` to update `num` with the remainder, adding the roman numeral representation to the result.
```def to_roman_numeral(num):
lookup = [
(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'),
]
res = ''
for (n, roman) in lookup:
(d, num) = divmod(num, n)
res += roman * d
return res```
```to_roman_numeral(3) # 'III'
to_roman_numeral(11) # 'XI'
to_roman_numeral(1998) # 'MCMXCVIII'```

## More like this

• ### Sum of powers

Returns the sum of the powers of all the numbers from `start` to `end` (both inclusive).

Python, Math · Nov 2, 2020

• ### Geometric progression

Initializes a list containing the numbers in the specified range where `start` and `end` are inclusive and the ratio between two terms is `step`.

Python, Math · Nov 2, 2020

• ### Hamming distance

Calculates the Hamming distance between two values.

Python, Math · Feb 18, 2021