Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- romans_numbers = (
- ('M', 1000),
- ('CM', 900), ('D', 500), ('CD', 400), ('C', 100),
- ('XC', 90), ('L', 50), ('XL', 40), ('X', 10),
- ('IX', 9), ('V', 5), ('IV', 4), ('I', 1)
- )
- def convert(arabic):
- romans = ''
- for number_roman, number_arabic in romans_numbers:
- while arabic >= number_arabic:
- romans += number_roman
- arabic -= number_arabic
- return romans
- # --- tests ---
- tests = (
- (499, 'CDXCIX'),
- (1001, 'MI'),
- (1000, 'M'),
- (30, 'XXX'),
- (29, 'XXIX'),
- (6, 'VI'),
- (5, 'V'),
- (4, 'IV'),
- )
- for roman, arabic in tests:
- print( roman, arabic, convert(roman) == arabic)
- '''
- 499 CDXCIX True
- 1001 MI True
- 1000 M True
- 30 XXX True
- 29 XXIX True
- 6 VI True
- 5 V True
- 4 IV True
- '''
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement