Skip to content

Instantly share code, notes, and snippets.

@ramalho
Created March 2, 2012 23:31
Show Gist options
  • Select an option

  • Save ramalho/1962365 to your computer and use it in GitHub Desktop.

Select an option

Save ramalho/1962365 to your computer and use it in GitHub Desktop.
Coding Dojo UFABC 2/mar/2012
"""
>>> romanos(1)
'I'
>>> romanos(2)
'II'
>>> romanos(3)
'III'
>>> romanos(4)
'IV'
>>> romanos(5)
'V'
>>> romanos(6)
'VI'
>>> romanos(7), romanos(8)
('VII', 'VIII')
>>> romanos(10)
'X'
>>> romanos(11), romanos(13)
('XI', 'XIII')
>>> romanos(9)
'IX'
>>> romanos(14)
'XIV'
>>> romanos (15), romanos(18)
('XV', 'XVIII')
>>> romanos(19)
'XIX'
>>> romanos(20), romanos(30)
('XX', 'XXX')
>>> romanos(21), romanos(34), romanos(37), romanos(39)
('XXI', 'XXXIV', 'XXXVII', 'XXXIX')
"""
def romanos(n):
ret = ''
while n > 0:
if n >= 10 :
ret += 'X'
n -= 10
elif n == 9:
ret += 'IX'
n -= 9
elif n >= 5:
n -= 5
ret += 'V'
elif 1<= n <= 3:
ret += 'I' * n
break
elif n == 4 :
ret += 'IV'
break
return ret
import doctest
doctest.testmod()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment