Update 03-roman-numerals/roman.py

This commit is contained in:
William Mantly 2023-09-26 00:26:50 +00:00
parent 7311c6644d
commit 11f0b2e045

View File

@ -1,22 +1,14 @@
class my_int( int ): def roman( self ):
romanNum = []
symbols = ( ( 'M', 1000 ), ( 'C', 100 ), ( 'XC', 90 ), ( 'L', 50 ), ( 'X', 10 ),
( 'IX', 9 ), ('V', 5 ) , ( 'IV', 4 ), ( 'I', 1 ) )
def roman( self ): for symbol, value in symbols:
romanNum = [] while self >= value:
symbols = ( ( 'M', 1000 ), ( 'C', 100 ), ( 'XC', 90 ), ( 'L', 50 ), ( 'X', 10 ), self -= value
( 'IX', 9 ), ('V', 5 ) , ( 'IV', 4 ), ( 'I', 1 ) ) romanNum.append( symbol )
for symbol, value in symbols: return ''.join( romanNum )
while self >= value:
self -= value
romanNum.append( symbol )
return ''.join( romanNum )
n = my_int( 56 )
print( n, n.roman() )
# alias my_int.roman() not to change assert lines
roman = my_int.roman
assert roman( 11 ) == "XI", "11 should return XI" assert roman( 11 ) == "XI", "11 should return XI"
assert roman( 60 ) == "LX", "60 should return LX" assert roman( 60 ) == "LX", "60 should return LX"