示例#1
0
def translate(number):
    """ Given a number between 1 and 3999 returns the equivalent roman numeral """
    # Gets the proper combination for every digit
    return ROMAN_10000[get_digit(number, 4)] + \
        ROMAN_1000[get_digit(number, 3)] + \
        ROMAN_100[get_digit(number, 2)] + \
        ROMAN_10[get_digit(number, 1)]
示例#2
0
def show(limit):
    """ Prints all the roman numerals from 1 to a given limit """
    for i in range(1, limit + 1):
        result = ROMAN_10000[get_digit(i, 4)] + \
                 ROMAN_1000[get_digit(i, 3)] + \
                 ROMAN_100[get_digit(i, 2)] + \
                 ROMAN_10[get_digit(i, 1)]
        print(i, result)
示例#3
0
    def _execute_opt(self, opt_code):

        digits = [util.get_digit(opt_code, x) for x in range(5)]
        opt_code = digits[0] + 10 * digits[1]

        param_modes = digits[2:]

        if opt_code == 1:
            self._opt_1(param_modes)
        elif opt_code == 2:
            self._opt_2(param_modes)
        elif opt_code == 3:
            self._opt_3(param_modes)
        elif opt_code == 4:
            self._opt_4(param_modes)
        elif opt_code == 5:
            self._opt_5(param_modes)
        elif opt_code == 6:
            self._opt_6(param_modes)
        elif opt_code == 7:
            self._opt_7(param_modes)
        elif opt_code == 8:
            self._opt_8(param_modes)
        elif opt_code == 9:
            self._opt_9(param_modes)
        elif opt_code == 99:
            self.state = self.STATE_HALTED
示例#4
0
def translate_to_roman(number):
    """ Given a number between 1 and 3999 returns the equivalent roman numeral """
    result = ''

    for i in reversed(range(
            1, 5)):  # Run the function for every range of roman numerals
        result += to_roman(get_digit(number, i), TO_ROMAN[10**(i - 1)],
                           TO_ROMAN[10**(i - 1) * 5], TO_ROMAN[10**i])

    return result
示例#5
0
 def test_get_digit(self):
     self.assertEqual(get_digit(5438, 1), 8)
     self.assertEqual(get_digit(5438, 2), 3)
     self.assertEqual(get_digit(5438, 3), 4)
     self.assertEqual(get_digit(5438, 4), 5)
     self.assertEqual(get_digit(5438, 5), 0)
     self.assertEqual(get_digit(5438, 20), 0)