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): | ||||
| 	pass | ||||
| 	def roman( self ): | ||||
| 		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 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" | ||||
| 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 | ||||
		Reference in New Issue
	
	Block a user