dict_ones = { 0: "", 1: "one", 2: "two", 3: "three", 4: "four", 5: "five", 6: "six", 7: "seven", 8: "eight", 9: "nine", } dict_tens = { 2: "twenty", 3: "thirty", 4: "forty", 5: "fifty", 6: "sixty", 7: "seventy", 8: "eighty", 9: "ninety", } dict_exception = { 10: "ten", 11: "eleven", 12: "twelve", 13: "thirteen", 14: "fourteen", 15: "fifteen", 16: "sixteen", 17: "seventeen", 18: "eighteen", 19: "nineteen", } def num_to_string(num): if(num == 1000): return "one thousand" if(num>=0 and num<10): return dict_ones.get(num) if(num>=10 and num<=19): return dict_exception.get(num) if(num>=20 and num<=99): return dict_tens.get(int(num/10)) + " " + dict_ones.get(num%10) if(num>=100 and num<=999): return dict_ones.get(int(num/100)) + " hundred " + num_to_string(num%100) if __name__ == '__main__': for i in range(1, 1001): print(f"{i}: {num_to_string(i)}")