Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Uncategorized category for Speech Module by Reycer
FIRST_TEN = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"]
SECOND_TEN = ["ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen"]
OTHER_TENS = ["twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety"]
HUNDRED = "hundred"
def checkio(number):
result=''
numberStr=str(number)
while(numberStr!=''):
if len(numberStr)==3:
if numberStr[2]=='0' and numberStr[1]=='0':
result+=FIRST_TEN[int(numberStr[0])]+' '+HUNDRED
numberStr=''
else:
result+=FIRST_TEN[int(numberStr[0])]+' '+HUNDRED+' '
numberStr=numberStr[1:]
elif len(numberStr)==2:
if 10<=int(numberStr)<=19:
result+=SECOND_TEN[int(numberStr[1])]
numberStr=''
else:
if numberStr[0]=='0':
numberStr=numberStr[1:]
else:
if numberStr[1]=='0':
result+=OTHER_TENS[int(numberStr[0])-2]
numberStr=numberStr[1:]
else:
result+=OTHER_TENS[int(numberStr[0])-2]+' '
numberStr=numberStr[1:]
elif len(numberStr)==1:
if numberStr[0]=='0':
numberStr=numberStr[1:]
else:
result+=FIRST_TEN[int(numberStr[0])]+''
numberStr=''
return result
if __name__ == '__main__':
assert checkio(4) == 'four', "First"
assert checkio(133) == 'one hundred thirty three', "Second"
assert checkio(12)=='twelve', "Third"
assert checkio(101)=='one hundred one', "Fifth"
assert checkio(212)=="two hundred twelve", "Sixth"
assert checkio(40)=='forty', "Seventh, forty - it is correct"
print('All ok')
Jan. 24, 2016