1. Список говнокодов пользователя mbrutus

    Всего: 1

  2. Python / Говнокод #21776

    −49

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    class RomeNumberConvertor(object):
        def __init__(self):
            self.discharge = ['unit', 'dozen', 'hundred', 'thousand']
            self.unit_set = ('I', 'V', 'X')
            self.dozen_set = ('X', 'L', 'C')
            self.hundred_set = ('C', 'D', 'M')
            self.thousand_set = ('M')
            
        def _discharge2rome(self, discharge, value):
            pattern = {'1': '{0}', '2': '{0}{0}', '3': '{0}{0}{0}',
                            '4': '{0}{1}', '5': '{1}', '6': '{1}{0}',
                            '7': '{1}{0}{0}', '8': '{1}{0}{0}{0}', '9': '{0}{2}'}
            return pattern[value].format(*getattr(self, '%s_set' % discharge))
            
        def lat2rome(self, num):
            rome_digit = ''
            for i, k in enumerate(reversed(str(num))):
                if k == '0': continue
                rome_digit = '%s%s' % (self._discharge2rome(self.discharge[i], k), rome_digit) 
            return rome_digit

    Вот так человек решил преобразовывать в римские цифры :D

    mbrutus, 04 Декабря 2016

    Комментарии (18)