Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def arabic_to_roman(res):
- ans = ''
- match res//1000:
- case 3: ans += 'MMM'
- case 2: ans += 'MM'
- case 1: ans += 'M'
- match res//100%10:
- case 9: ans += 'CM'
- case 8: ans += 'DCCC'
- case 7: ans += 'DCC'
- case 6: ans += 'DC'
- case 5: ans += 'D'
- case 4: ans += 'CD'
- case 3: ans += 'CCC'
- case 2: ans += 'CC'
- case 1: ans += 'C'
- match res//10%10:
- case 9: ans += 'XC'
- case 8: ans += 'LXXX'
- case 7: ans += 'LXX'
- case 6: ans += 'LX'
- case 5: ans += 'X'
- case 4: ans += 'XL'
- case 3: ans += 'XXX'
- case 2: ans += 'XX'
- case 1: ans += 'X'
- match res%10:
- case 9: ans += 'IX'
- case 8: ans += 'VIII'
- case 7: ans += 'VII'
- case 6: ans += 'VI'
- case 5: ans += 'V'
- case 4: ans += 'IV'
- case 3: ans += 'III'
- case 2: ans += 'II'
- case 1: ans += 'I'
- return ans
- s = input()
- res = 0
- char_0 = ord('0')
- char_9 = ord('9')
- is_number = True
- end_with_dot = False
- for i in range(len(s)):
- if s[i] == '.':
- end_with_dot = True
- break
- elif char_0 <= ord(s[i]) <= char_9:
- res = res*10 + int(s[i])
- else:
- is_number = False
- break
- if s[-1] == '.': end_with_dot = True
- if not end_with_dot:
- print('Нет точки в конце последовательности!')
- elif not is_number:
- print('Это не число!')
- else:
- if 0 < res < 4000:
- ans = arabic_to_roman(res)
- print(ans)
- else:
- print('Число должно быть больше 0 и меньше 4000!')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement