所以这是我的主程序,我可以在0到100之间进行数字转换,但是,如果输入的数字大于100,它将显示'键错误'。 :-(
s = int(input('Give me a 3-digit number: '))
d = {0 : 'zero',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 : 'ninteen'}
e = {20 : 'twenty', \
30 : 'thirty', 40 : 'fourth', 50 : 'fifty', 60 : 'sixty', \
70 : 'seventy', 80 : 'eighty', 90 : 'ninty' }
b = {100 : 'one hundred', 200 : 'two hundred', 300 : 'three hundred', \
400 : 'four hundred', 500 : 'five hundred', 600 : 'six hundred', \
700 : 'seven hundred', 800 : 'eight hundred', 900 : 'nine hundred'}
'''int -> str'''
def convert_number(s):
if s <= 19:
return(d[s])
if s == 20:
return(e[s])
if s >20 and s < 100 :
return(e[(s//10)*10] +' '+ d[(s%10)])
if s == 100:
return(b[s])
if s > 100:
return(b[(s//100)*100] +' '+e[((s-b[s])//10)*10]+' '+d[(s%10)])
print(convert_number(s))