aboutsummaryrefslogtreecommitdiffstats
path: root/17-Number-Letter-Counts/wordnums.py
blob: f1276b9f00a157efb59f6a857eace3cb38edd00d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import PIL, math

ones = ["", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"]
weirdos = ["thirteen", "twelve", "eleven", "ten"]
tens = ["", "teen", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety"]
nd = "AND"

#num must be less than 999#

def numToWord(num):
	digits = str(num)
	if (len(digits) == 1):#one digit
		return ones[num]
	if (len(digits) == 2):#two digits
		if(num < 14):#special case for ten eleven twelve
			return weirdos[13 - num]
		if (num == 15):
			return "fifteen"
		if (num == 18):
			return "eighteen"
		t = digits[0]
		o = digits[1]
		if (int(t)==1):
			return  numToWord(int(o)) + tens[int(t)]
		else:	
			return tens[int(t)] + numToWord(int(o))
	#number is three digits#
	h = digits[0]
	t = digits[1]		
	o = digits[2]
	if(num % 100 == 0):
		return numToWord(int(h)) + "hundred"
	else:
		return numToWord(int(h)) + "hundred"+nd+numToWord(int(t+o))
	
	

n = int(input("Number: "))
out =""
for i in range(1, n):
	out += numToWord(int(i))

out+="onethousand"
print(out)
print(str(len(out)) + " letters")