Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Uncategorized category for Speech Module by Kurush
# migrated from python 2.7
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):
Hundreds = number / 100
if Hundreds == 0:
TwoDigitNumber = number
HundredsPart = ''
else:
TwoDigitNumber = number - Hundreds * 100
HundredsPart = FIRST_TEN[Hundreds] + ' ' + HUNDRED + ' '
if TwoDigitNumber in range(10):
if (HundredsPart != '') and (TwoDigitNumber == 0):
return HundredsPart.rstrip()
else:
return HundredsPart + FIRST_TEN[TwoDigitNumber]
if TwoDigitNumber in range(10, 20):
return HundredsPart + SECOND_TEN[TwoDigitNumber - 10]
if TwoDigitNumber in range(20, 100):
if TwoDigitNumber % 10 != 0:
return HundredsPart + OTHER_TENS[TwoDigitNumber / 10 - 2] + ' ' + FIRST_TEN[TwoDigitNumber % 10]
else:
return HundredsPart + OTHER_TENS[TwoDigitNumber / 10 - 2]
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')
March 8, 2013