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