Skip to content

Commit 3b942a3

Browse files
committed
Finished Lab 3 Version 1 and 2 Number to Phrases
1 parent f5d12af commit 3b942a3

File tree

1 file changed

+248
-66
lines changed

1 file changed

+248
-66
lines changed
Lines changed: 248 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -1,67 +1,34 @@
11
# Lab 3: Number to Phrase
22
# Convert a given number into its english representation. For example: 67 becomes 'sixty-seven'. Handle numbers from 0-99.
33

4-
# Hint: you can use modulus to extract the ones and tens digit.
5-
6-
# x = 67
7-
# tens_digit = x//10
8-
# ones_digit = x%10
9-
# Hint 2: use the digit as an index for a list of strings OR as a key for a dict of digit:phrase pairs.
10-
11-
12-
one = {
13-
'1':'one',
14-
'2':'two',
15-
'3':'three',
16-
'4':'four',
17-
'5':'five',
18-
'6':'six',
19-
'7':'seven',
20-
'8':'eight',
21-
'9':'nine'
22-
}
23-
24-
teen = {
25-
'10':'ten',
26-
'11':'eleven',
27-
'12':'twelve',
28-
'13':'thirteen',
29-
'14':'fourteen',
30-
'15':'fifteen',
31-
'16':'sixteen',
32-
'17':'seventeen',
33-
'18':'eighteen',
34-
'19':'nineteen',
35-
}
36-
37-
ten = {
38-
'2':'twenty',
39-
'3':'thirty',
40-
'4':'forty',
41-
'5':'fifty',
42-
'6':'sixy',
43-
'7':'seventy',
44-
'8':'eighty',
45-
'9':'ninety',
46-
}
47-
48-
hundred = {
49-
'10':'one hundred',
50-
'20':'two hundred',
51-
'30':'three hundred',
52-
'40':'four hundred',
53-
'50':'five hundred',
54-
'60':'six hundred',
55-
'70':'seven hundred',
56-
'80':'eight hundred',
57-
'90':'nine hundred'
58-
}
59-
60-
num = input("Enter a number between 0 and 99: ")
4+
one = {'1':'one','2':'two','3':'three','4':'four','5':'five','6':'six','7':'seven','8':'eight','9':'nine'}
5+
ten = {'1':'ten','2':'twenty','3':'thirty','4':'forty','5':'fifty','6':'sixty','7':'seventy','8':'eighty','9':'ninety'}
6+
teen = {'11':'eleven','12':'twelve','13':'thirteen','14':'fourteen','15':'fifteen','16':'sixteen','17':'seventeen','18':'eighteen','19':'nineteen'}
7+
hundred = {'1':'one hundred','2':'two hundred','3':'three hundred','4':'four hundred','5':'five hundred','6':'six hundred','7':'seven hundred','8':'eight hundred','9':'nine hundred'}
8+
hundred_ten = {'12':'twenty','13':'thirty','14':'forty','15':'fifty','16':'sixy','17':'seventy','18':'eighty','19':'ninety'}
9+
hundred_teen = {'111':'eleven','112':'twelve','113':'thirteen','114':'fourteen','115':'fifteen','116':'sixteen','117':'seventeen','118':'eighteen','119':'nineteen'}
10+
two_hundred_teen = {'211':'eleven','212':'twelve','213':'thirteen','214':'fourteen','215':'fifteen','216':'sixteen','217':'seventeen','218':'eighteen','219':'nineteen'}
11+
three_hundred_teen = {'311':'eleven','312':'twelve','313':'thirteen','314':'fourteen','315':'fifteen','316':'sixteen','317':'seventeen','318':'eighteen','319':'nineteen'}
12+
four_hundred_teen = {'411':'eleven','412':'twelve','413':'thirteen','414':'fourteen','415':'fifteen','416':'sixteen','417':'seventeen','418':'eighteen','419':'nineteen'}
13+
five_hundred_teen = {'511':'eleven','512':'twelve','513':'thirteen','514':'fourteen','515':'fifteen','516':'sixteen','517':'seventeen','518':'eighteen','519':'nineteen'}
14+
six_hundred_teen = {'611':'eleven','612':'twelve','613':'thirteen','614':'fourteen','615':'fifteen','616':'sixteen','617':'seventeen','618':'eighteen','619':'nineteen'}
15+
seven_hundred_teen = {'711':'eleven','712':'twelve','713':'thirteen','714':'fourteen','715':'fifteen','716':'sixteen','717':'seventeen','718':'eighteen','719':'nineteen'}
16+
eight_hundred_teen = {'811':'eleven','812':'twelve','813':'thirteen','814':'fourteen','815':'fifteen','816':'sixteen','817':'seventeen','818':'eighteen','819':'nineteen'}
17+
nine_hundred_teen = {'911':'eleven','912':'twelve','913':'thirteen','914':'fourteen','915':'fifteen','916':'sixteen','917':'seventeen','918':'eighteen','919':'nineteen'}
18+
hundred_twenty = {'22':'twenty','23':'thirty','24':'forty','25':'fifty','26':'sixty','27':'seventy','28':'eighty','29':'ninety'}
19+
hundred_thirty = {'32':'twenty','33':'thirty','34':'forty','35':'fifty','36':'sixty','37':'seventy','38':'eighty','39':'ninety'}
20+
hundred_forty = {'42':'twenty','43':'thirty','44':'forty','45':'fifty','46':'sixty','47':'seventy','48':'eighty','49':'ninety'}
21+
hundred_fifty = {'52':'twenty','53':'thirty','54':'forty','55':'fifty','56':'sixty','57':'seventy','58':'eighty','59':'ninety'}
22+
hundred_sixty = {'62':'twenty','63':'thirty','64':'forty','65':'fifty','66':'sixty','67':'seventy','68':'eighty','69':'ninety'}
23+
hundred_seventy = {'72':'twenty','73':'thirty','74':'forty','75':'fifty','76':'sixty','77':'seventy','78':'eighty','79':'ninety'}
24+
hundred_eighty = {'82':'twenty','83':'thirty','84':'forty','85':'fifty','86':'sixty','87':'seventy','88':'eighty','89':'ninety'}
25+
hundred_ninety = {'92':'twenty','93':'thirty','94':'forty','95':'fifty','96':'sixty','97':'seventy','98':'eighty','99':'ninety'}
26+
27+
num = input('Enter a number between 0 and 999: ')
6128
ones = int(num)%10
6229
teens = int(num)
6330
tens = int(num)//10
64-
hundreds = int(num)*1
31+
hundreds = int(num)//100
6532
user_num = int(num)
6633

6734
if user_num == 0:
@@ -72,35 +39,250 @@
7239
num_phrase_ones = one[ones_phrase]
7340
print(num_phrase_ones)
7441

75-
elif user_num in range (10, 20):
42+
elif user_num in range (11, 20):
7643
teens_phrase = str(teens)
7744
num_phrase_teens = teen[teens_phrase]
7845
print(num_phrase_teens)
7946

80-
elif user_num in range (20, 100):
47+
elif user_num in range (10, 100, 10):
48+
tens_phrase = str(tens)
49+
num_phrase_tens = ten[tens_phrase]
50+
print(num_phrase_tens)
51+
52+
elif user_num in range (20, 100, 1):
8153
tens_phrase = str(tens)
8254
num_phrase_tens = ten[tens_phrase]
8355
ones_phrase = str(ones)
8456
num_phrase_ones = one[ones_phrase]
8557
print(num_phrase_tens,num_phrase_ones)
8658

87-
elif user_num in range (100, 1000):
59+
# Version 2
60+
# Handle numbers from 100-999.
61+
62+
elif user_num in range (100, 1000, 100):
63+
hundreds_phrase = str(hundreds)
64+
num_phrase_hundreds = hundred[hundreds_phrase]
65+
print(num_phrase_hundreds)
66+
67+
elif user_num in range (100, 1000, 10):
8868
hundreds_phrase = str(hundreds)
8969
num_phrase_hundreds = hundred[hundreds_phrase]
9070
tens_phrase = str(tens)
91-
num_phrase_tens = ten[tens_phrase]
71+
num_phrase_tens = hundred_ten[tens_phrase]
72+
print(num_phrase_hundreds,num_phrase_tens)
73+
74+
elif user_num in range (100, 109, 1):
75+
hundreds_phrase = str(hundreds)
76+
num_phrase_hundreds = hundred[hundreds_phrase]
77+
ones_phrase = str(ones)
78+
num_phrase_ones = one[ones_phrase]
79+
print(num_phrase_hundreds,num_phrase_ones)
80+
81+
elif user_num in range (200, 209, 1):
82+
hundreds_phrase = str(hundreds)
83+
num_phrase_hundreds = hundred[hundreds_phrase]
84+
ones_phrase = str(ones)
85+
num_phrase_ones = one[ones_phrase]
86+
print(num_phrase_hundreds,num_phrase_ones)
87+
88+
elif user_num in range (300, 309, 1):
89+
hundreds_phrase = str(hundreds)
90+
num_phrase_hundreds = hundred[hundreds_phrase]
91+
ones_phrase = str(ones)
92+
num_phrase_ones = one[ones_phrase]
93+
print(num_phrase_hundreds,num_phrase_ones)
94+
95+
elif user_num in range (400, 409, 1):
96+
hundreds_phrase = str(hundreds)
97+
num_phrase_hundreds = hundred[hundreds_phrase]
98+
ones_phrase = str(ones)
99+
num_phrase_ones = one[ones_phrase]
100+
print(num_phrase_hundreds,num_phrase_ones)
101+
102+
elif user_num in range (500, 509, 1):
103+
hundreds_phrase = str(hundreds)
104+
num_phrase_hundreds = hundred[hundreds_phrase]
105+
ones_phrase = str(ones)
106+
num_phrase_ones = one[ones_phrase]
107+
print(num_phrase_hundreds,num_phrase_ones)
108+
109+
elif user_num in range (600, 609, 1):
110+
hundreds_phrase = str(hundreds)
111+
num_phrase_hundreds = hundred[hundreds_phrase]
112+
ones_phrase = str(ones)
113+
num_phrase_ones = one[ones_phrase]
114+
print(num_phrase_hundreds,num_phrase_ones)
115+
116+
elif user_num in range (700, 709, 1):
117+
hundreds_phrase = str(hundreds)
118+
num_phrase_hundreds = hundred[hundreds_phrase]
119+
ones_phrase = str(ones)
120+
num_phrase_ones = one[ones_phrase]
121+
print(num_phrase_hundreds,num_phrase_ones)
122+
123+
elif user_num in range (800, 809, 1):
124+
hundreds_phrase = str(hundreds)
125+
num_phrase_hundreds = hundred[hundreds_phrase]
126+
ones_phrase = str(ones)
127+
num_phrase_ones = one[ones_phrase]
128+
print(num_phrase_hundreds,num_phrase_ones)
129+
130+
elif user_num in range (900, 909, 1):
131+
hundreds_phrase = str(hundreds)
132+
num_phrase_hundreds = hundred[hundreds_phrase]
133+
ones_phrase = str(ones)
134+
num_phrase_ones = one[ones_phrase]
135+
print(num_phrase_hundreds,num_phrase_ones)
136+
137+
elif user_num in range (111, 120, 1):
138+
hundreds_phrase = str(hundreds)
139+
num_phrase_hundreds = hundred[hundreds_phrase]
140+
teens_phrase = str(teens)
141+
num_phrase_teens = hundred_teen[teens_phrase]
142+
print(num_phrase_hundreds,num_phrase_teens)
143+
144+
elif user_num in range (121, 200, 1):
145+
hundreds_phrase = str(hundreds)
146+
num_phrase_hundreds = hundred[hundreds_phrase]
147+
tens_phrase = str(tens)
148+
num_phrase_tens = hundred_ten[tens_phrase]
92149
ones_phrase = str(ones)
93150
num_phrase_ones = one[ones_phrase]
94151
print(num_phrase_hundreds,num_phrase_tens,num_phrase_ones)
95152

96-
# Version 2
97-
# Handle numbers from 100-999.
153+
elif user_num in range (211, 220, 1):
154+
hundreds_phrase = str(hundreds)
155+
num_phrase_hundreds = hundred[hundreds_phrase]
156+
teens_phrase = str(teens)
157+
num_phrase_teens = two_hundred_teen[teens_phrase]
158+
print(num_phrase_hundreds,num_phrase_teens)
98159

160+
elif user_num in range (311, 320, 1):
161+
hundreds_phrase = str(hundreds)
162+
num_phrase_hundreds = hundred[hundreds_phrase]
163+
teens_phrase = str(teens)
164+
num_phrase_teens = three_hundred_teen[teens_phrase]
165+
print(num_phrase_hundreds,num_phrase_teens)
99166

167+
elif user_num in range (411, 420, 1):
168+
hundreds_phrase = str(hundreds)
169+
num_phrase_hundreds = hundred[hundreds_phrase]
170+
teens_phrase = str(teens)
171+
num_phrase_teens = four_hundred_teen[teens_phrase]
172+
print(num_phrase_hundreds,num_phrase_teens)
173+
174+
elif user_num in range (511, 520, 1):
175+
hundreds_phrase = str(hundreds)
176+
num_phrase_hundreds = hundred[hundreds_phrase]
177+
teens_phrase = str(teens)
178+
num_phrase_teens = five_hundred_teen[teens_phrase]
179+
print(num_phrase_hundreds,num_phrase_teens)
180+
181+
elif user_num in range (611, 620, 1):
182+
hundreds_phrase = str(hundreds)
183+
num_phrase_hundreds = hundred[hundreds_phrase]
184+
teens_phrase = str(teens)
185+
num_phrase_teens = six_hundred_teen[teens_phrase]
186+
print(num_phrase_hundreds,num_phrase_teens)
187+
188+
elif user_num in range (711, 720, 1):
189+
hundreds_phrase = str(hundreds)
190+
num_phrase_hundreds = hundred[hundreds_phrase]
191+
teens_phrase = str(teens)
192+
num_phrase_teens = seven_hundred_teen[teens_phrase]
193+
print(num_phrase_hundreds,num_phrase_teens)
194+
195+
elif user_num in range (811, 820, 1):
196+
hundreds_phrase = str(hundreds)
197+
num_phrase_hundreds = hundred[hundreds_phrase]
198+
teens_phrase = str(teens)
199+
num_phrase_teens = eight_hundred_teen[teens_phrase]
200+
print(num_phrase_hundreds,num_phrase_teens)
201+
202+
elif user_num in range (911, 920, 1):
203+
hundreds_phrase = str(hundreds)
204+
num_phrase_hundreds = hundred[hundreds_phrase]
205+
teens_phrase = str(teens)
206+
num_phrase_teens = nine_hundred_teen[teens_phrase]
207+
print(num_phrase_hundreds,num_phrase_teens)
208+
209+
elif user_num in range (221, 300, 1):
210+
hundreds_phrase = str(hundreds)
211+
num_phrase_hundreds = hundred[hundreds_phrase]
212+
tens_phrase = str(tens)
213+
num_phrase_tens = hundred_twenty[tens_phrase]
214+
ones_phrase = str(ones)
215+
num_phrase_ones = one[ones_phrase]
216+
print(num_phrase_hundreds,num_phrase_tens,num_phrase_ones)
217+
218+
elif user_num in range (321, 400, 1):
219+
hundreds_phrase = str(hundreds)
220+
num_phrase_hundreds = hundred[hundreds_phrase]
221+
tens_phrase = str(tens)
222+
num_phrase_tens = hundred_thirty[tens_phrase]
223+
ones_phrase = str(ones)
224+
num_phrase_ones = one[ones_phrase]
225+
print(num_phrase_hundreds,num_phrase_tens,num_phrase_ones)
226+
227+
elif user_num in range (421, 500, 1):
228+
hundreds_phrase = str(hundreds)
229+
num_phrase_hundreds = hundred[hundreds_phrase]
230+
tens_phrase = str(tens)
231+
num_phrase_tens = hundred_forty[tens_phrase]
232+
ones_phrase = str(ones)
233+
num_phrase_ones = one[ones_phrase]
234+
print(num_phrase_hundreds,num_phrase_tens,num_phrase_ones)
235+
236+
elif user_num in range (521, 600, 1):
237+
hundreds_phrase = str(hundreds)
238+
num_phrase_hundreds = hundred[hundreds_phrase]
239+
tens_phrase = str(tens)
240+
num_phrase_tens = hundred_fifty[tens_phrase]
241+
ones_phrase = str(ones)
242+
num_phrase_ones = one[ones_phrase]
243+
print(num_phrase_hundreds,num_phrase_tens,num_phrase_ones)
244+
245+
elif user_num in range (621, 700, 1):
246+
hundreds_phrase = str(hundreds)
247+
num_phrase_hundreds = hundred[hundreds_phrase]
248+
tens_phrase = str(tens)
249+
num_phrase_tens = hundred_sixty[tens_phrase]
250+
ones_phrase = str(ones)
251+
num_phrase_ones = one[ones_phrase]
252+
print(num_phrase_hundreds,num_phrase_tens,num_phrase_ones)
253+
254+
elif user_num in range (721, 800, 1):
255+
hundreds_phrase = str(hundreds)
256+
num_phrase_hundreds = hundred[hundreds_phrase]
257+
tens_phrase = str(tens)
258+
num_phrase_tens = hundred_seventy[tens_phrase]
259+
ones_phrase = str(ones)
260+
num_phrase_ones = one[ones_phrase]
261+
print(num_phrase_hundreds,num_phrase_tens,num_phrase_ones)
262+
263+
elif user_num in range (821, 900, 1):
264+
hundreds_phrase = str(hundreds)
265+
num_phrase_hundreds = hundred[hundreds_phrase]
266+
tens_phrase = str(tens)
267+
num_phrase_tens = hundred_eighty[tens_phrase]
268+
ones_phrase = str(ones)
269+
num_phrase_ones = one[ones_phrase]
270+
print(num_phrase_hundreds,num_phrase_tens,num_phrase_ones)
271+
272+
elif user_num in range (921, 1000, 1):
273+
hundreds_phrase = str(hundreds)
274+
num_phrase_hundreds = hundred[hundreds_phrase]
275+
tens_phrase = str(tens)
276+
num_phrase_tens = hundred_ninety[tens_phrase]
277+
ones_phrase = str(ones)
278+
num_phrase_ones = one[ones_phrase]
279+
print(num_phrase_hundreds,num_phrase_tens,num_phrase_ones)
280+
281+
else:
282+
print('Number out of range.')
100283

101284
# Version 3 (optional)
102285
# Convert a number to roman numerals.
103286

104287
# Version 4 (optional)
105-
# Convert a time given in hours and minutes to a phrase.
106-
288+
# Convert a time given in hours and minutes to a phrase.

0 commit comments

Comments
 (0)