Adopted new convention from template
This commit is contained in:
parent
5936367b4d
commit
963f6ad3b0
@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env python3
|
||||
#!/usr/bin/env python
|
||||
"""
|
||||
Created on 13 Jan 2018
|
||||
|
||||
@ -12,7 +12,7 @@ https://projecteuler.net/problem=17
|
||||
from utils import timeit
|
||||
|
||||
|
||||
def num2letters(num):
|
||||
def num_to_letters(num):
|
||||
nums = {
|
||||
0: "",
|
||||
1: "one",
|
||||
@ -50,18 +50,21 @@ def num2letters(num):
|
||||
return len(nums[num])
|
||||
elif num < 100:
|
||||
tens, units = divmod(num, 10)
|
||||
return len(nums[tens * 10]) + num2letters(units)
|
||||
return len(nums[tens * 10]) + num_to_letters(units)
|
||||
elif num < 1000:
|
||||
hundreds, rest = divmod(num, 100)
|
||||
if rest:
|
||||
return (
|
||||
num2letters(hundreds) + len(nums[100]) + len("and") + num2letters(rest)
|
||||
num_to_letters(hundreds)
|
||||
+ len(nums[100])
|
||||
+ len("and")
|
||||
+ num_to_letters(rest)
|
||||
)
|
||||
else:
|
||||
return num2letters(hundreds) + len(nums[100])
|
||||
return num_to_letters(hundreds) + len(nums[100])
|
||||
else:
|
||||
thousands, rest = divmod(num, 1000)
|
||||
return num2letters(thousands) + len(nums[1000])
|
||||
thousands, _ = divmod(num, 1000)
|
||||
return num_to_letters(thousands) + len(nums[1000])
|
||||
|
||||
|
||||
@timeit("Problem 17")
|
||||
@ -81,10 +84,9 @@ def compute():
|
||||
n = 1000
|
||||
letters = 0
|
||||
for num in range(1, n + 1):
|
||||
letters += num2letters(num)
|
||||
letters += num_to_letters(num)
|
||||
return letters
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
print(f"Result for Problem 17: {compute()}")
|
||||
print(f"Result for Problem 17 is {compute()}")
|
||||
|
Loading…
x
Reference in New Issue
Block a user