Skip to content

Commit 523350d

Browse files
committed
add the answer of problem 17
1 parent 1729f6e commit 523350d

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

0017.py

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
#!/usr/bin/env python3
2+
# __author__ = 'ismail'
3+
4+
5+
def num2word(num):
6+
numWords = {0: '', 1: 'one', 2: 'two', 3: 'three', 4: 'four', 5: 'five',
7+
6: 'six', 7: 'seven', 8: 'eight', 9: 'nine', 10: 'ten',
8+
11: 'eleven', 12: 'twelve', 13: 'thirteen', 14: 'fourteen', 15: 'fifteen',
9+
16: 'sixteen', 17: 'seventeen', 18: 'eighteen', 19: 'nineteen', 20: 'twenty',
10+
30: 'thirty', 40: 'forty', 50: 'fifty',
11+
60: 'sixty', 70: 'seventy', 80: 'eighty', 90: 'ninety',
12+
100: 'one hundred', 1000: 'one thousand'}
13+
if 1 <= num <= 20 or num == 100 or num == 1000:
14+
return numWords[num]
15+
if 20 < num < 100:
16+
word = numWords[num - num % 10]
17+
if num % 10 is not 0:
18+
word += '-' + numWords[num % 10]
19+
return word
20+
if 100 < num < 1000:
21+
word = numWords[num // 100] + ' '
22+
if num > 100:
23+
word += 'hundred'
24+
if num % 100 is not 0:
25+
word += ' and '
26+
word += str(num2word(num % 100))
27+
return word
28+
29+
30+
def lengthOfNumWord(num):
31+
word = num2word(num)
32+
# print(word)
33+
return len(word.replace('-', '').replace(' ', ''))
34+
35+
length = 0
36+
n = 1000
37+
38+
for i in range(1, n + 1):
39+
length += lengthOfNumWord(i)
40+
41+
print(length)

0 commit comments

Comments
 (0)