So I was given a little task, I had to write a program in Python that prints a number's name from 0-999999.
But I ran into some problems, and I'd love to get your ideas and help.
This is what I have written so far:
numbers = {1: 'One', 2: 'Two', 3: 'Three', 4: 'Four', 5: 'Five', \
6: 'Six', 7: 'Seven', 8: 'Eight', 9: 'Nine', 10: 'Ten', \
11: 'Eleven', 12: 'Twelve', 13: 'Thirteen', 14: 'Fourteen', \
15: 'Fifteen', 16: 'Sixteen', 17: 'Seventeen', 18: 'Eighteen', \
19: 'Nineteen', 20: 'Twenty', 30: 'Thirty', 40: 'Forty', \
50: 'Fifty', 60: 'Sixty', 70: 'Seventy', 80: 'Eighty', \
90: 'Ninety', 0: 'Zero'}
def beta1(n):
if n == 0:
return numbers[0]
elif n >= 1 and n <= 19:
return numbers[n]
elif n >= 20 and n <= 99:
if n % 10 == 0:
return numbers[n]
else:
return numbers[n - n % 10] + " " + numbers[n % 10]
elif n>=100 and n<=999:
if n%10 == 0:
return numbers[n/100] + " Hundred"
else:
return numbers[n/100] + " Hundred" +" " +numbers[n%100 - n %10] + " " + numbers[n % 10]
elif n>=1000 and n<=999999:
if n>= 1000 and n <=9999:
if n%10 == 0:
return numbers[n/1000] + " Thousand"
else:
return numbers[n/1000] + " Thousand" + " " +numbers[(n%1000- n%100)/100] + " Hundred " + numbers[n%100- n%10] + " " + numbers[n%10]
The problem is that I don't handle cases like this here:
beta1(5050):
Five Thousand
beta1(550):
Five Hundred
beta1(515):
Five Hundred Ten Five
beta1(505):
Five Hundred Zero Five
I would love to get some Ideas/help from you on this subject (with no libraries included, I want it to be purely coded.)
I am a fairly new coder so take it easy on me haha. Thanks in advance!