Skip to content

Commit 39267b4

Browse files
committed
use more descriptive vars
1 parent 4b030e1 commit 39267b4

File tree

1 file changed

+30
-30
lines changed

1 file changed

+30
-30
lines changed

project_euler/problem_089/sol1.py

+30-30
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030

3131
import os
3232

33-
symbols = {"I": 1, "V": 5, "X": 10, "L": 50, "C": 100, "D": 500, "M": 1000}
33+
SYMBOLS = {"I": 1, "V": 5, "X": 10, "L": 50, "C": 100, "D": 500, "M": 1000}
3434

3535

3636
def parse_roman_numerals(numerals: str) -> int:
@@ -43,20 +43,20 @@ def parse_roman_numerals(numerals: str) -> int:
4343
4
4444
"""
4545

46-
num = 0
46+
total_value = 0
4747

48-
i = 0
49-
while i < len(numerals) - 1:
50-
value = symbols[numerals[i]]
51-
next_value = symbols[numerals[i + 1]]
52-
if value < next_value:
53-
num -= value
48+
index = 0
49+
while index < len(numerals) - 1:
50+
current_value = SYMBOLS[numerals[index]]
51+
next_value = SYMBOLS[numerals[index + 1]]
52+
if current_value < next_value:
53+
total_value -= current_value
5454
else:
55-
num += value
56-
i += 1
57-
num += symbols[numerals[i]]
55+
total_value += current_value
56+
index += 1
57+
total_value += SYMBOLS[numerals[index]]
5858

59-
return num
59+
return total_value
6060

6161

6262
def generate_roman_numerals(num: int) -> str:
@@ -71,34 +71,34 @@ def generate_roman_numerals(num: int) -> str:
7171

7272
numerals = ""
7373

74-
m = num // 1000
75-
numerals += m * "M"
74+
m_count = num // 1000
75+
numerals += m_count * "M"
7676
num %= 1000
7777

78-
c = num // 100
79-
if c == 9:
78+
c_count = num // 100
79+
if c_count == 9:
8080
numerals += "CM"
81-
c -= 9
82-
elif c == 4:
81+
c_count -= 9
82+
elif c_count == 4:
8383
numerals += "CD"
84-
c -= 4
85-
if c >= 5:
84+
c_count -= 4
85+
if c_count >= 5:
8686
numerals += "D"
87-
c -= 5
88-
numerals += c * "C"
87+
c_count -= 5
88+
numerals += c_count * "C"
8989
num %= 100
9090

91-
x = num // 10
92-
if x == 9:
91+
x_count = num // 10
92+
if x_count == 9:
9393
numerals += "XC"
94-
x -= 9
95-
elif x == 4:
94+
x_count -= 9
95+
elif x_count == 4:
9696
numerals += "XL"
97-
x -= 4
98-
if x >= 5:
97+
x_count -= 4
98+
if x_count >= 5:
9999
numerals += "L"
100-
x -= 5
101-
numerals += x * "X"
100+
x_count -= 5
101+
numerals += x_count * "X"
102102
num %= 10
103103

104104
if num == 9:

0 commit comments

Comments
 (0)