forked from course-work/week1
Update 03-roman-numerals/roman.py
This commit is contained in:
@ -1,18 +1,27 @@
|
|||||||
# Use this function to get and return all the prime numbers below the input number
|
class my_int( int ):
|
||||||
|
|
||||||
def to_roman(num):
|
def roman( self ):
|
||||||
pass
|
romanNum = []
|
||||||
|
symbols = ( ( 'M', 1000 ), ( 'C', 100 ), ( 'XC', 90 ), ( 'L', 50 ), ( 'X', 10 ),
|
||||||
|
( 'IX', 9 ), ('V', 5 ) , ( 'IV', 4 ), ( 'I', 1 ) )
|
||||||
|
|
||||||
|
for symbol, value in symbols:
|
||||||
|
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( 60 ) == "LX", "60 should return LX"
|
||||||
|
assert roman( 78 ) == "LXXVIII", "78 should return LXXVIII"
|
||||||
|
assert roman( 4 ) == "IV", "4 should return IV"
|
||||||
|
assert roman( 99 ) == "XCIX", "99 should return XCIX"
|
||||||
|
|
||||||
|
# Add your own assert tests below
|
||||||
assert to_roman(11) == "XI", "11 should return XI"
|
|
||||||
assert to_roman(60) == "LX", "60 should return LX"
|
|
||||||
assert to_roman(78) == "LXXVIII", "78 should return LXXVIII"
|
|
||||||
assert to_roman(4) == "IV", "4 should return IV"
|
|
||||||
assert to_roman(99) == "XCIX", "99 should return XCIX"
|
|
||||||
|
|
||||||
# Add your own assert tests below
|
|
Reference in New Issue
Block a user