From 30a49b3046f95c2b89769f69bda7703d3fee4804 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 10 Feb 2025 10:27:19 +0000 Subject: [PATCH] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- conversions/roman_numerals.py | 39 ++++++++++++++++++++++++++++------- 1 file changed, 32 insertions(+), 7 deletions(-) diff --git a/conversions/roman_numerals.py b/conversions/roman_numerals.py index 305ef8808..2e1d5f702 100644 --- a/conversions/roman_numerals.py +++ b/conversions/roman_numerals.py @@ -1,11 +1,32 @@ ROMAN = [ - (1000000, "M_"), (900000, "C_M_"), (500000, "D_"), (400000, "C_D_"), - (100000, "C_"), (90000, "X_C_"), (50000, "L_"), (40000, "X_L_"), - (10000, "X_"), (9000, "I_X_"), (5000, "V_"), (4000, "I_V_"), - (1000, "M"), (900, "CM"), (500, "D"), (400, "CD"), - (100, "C"), (90, "XC"), (50, "L"), (40, "XL"), - (10, "X"), (9, "IX"), (5, "V"), (4, "IV"), (1, "I") + (1000000, "M_"), + (900000, "C_M_"), + (500000, "D_"), + (400000, "C_D_"), + (100000, "C_"), + (90000, "X_C_"), + (50000, "L_"), + (40000, "X_L_"), + (10000, "X_"), + (9000, "I_X_"), + (5000, "V_"), + (4000, "I_V_"), + (1000, "M"), + (900, "CM"), + (500, "D"), + (400, "CD"), + (100, "C"), + (90, "XC"), + (50, "L"), + (40, "XL"), + (10, "X"), + (9, "IX"), + (5, "V"), + (4, "IV"), + (1, "I"), ] + + def roman_to_int(roman): vals = {roman: arabic for arabic, roman in ROMAN} i, total = 0, 0 @@ -17,6 +38,8 @@ def roman_to_int(roman): total += vals[roman[i]] i += 1 return total + + def int_to_roman(number): if not isinstance(number, int) or number <= 0: raise ValueError("Input must be a positive integer greater than 0") @@ -28,7 +51,9 @@ def int_to_roman(number): if number == 0: break return "".join(result) - + + if __name__ == "__main__": import doctest + doctest.testmod()