题解 | #学英语#
https://www.nowcoder.com/practice/1364723563ab43c99f3d38b5abef83bc
n1 = input()
list1 = ["","one","two","three","four","five","six","seven","eight","nine"]
list2 = ["","ten","twenty","thirty","forty","fifty","sixty","seventy","eighty","ninety"]
list3 = ["","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"]
def fuc(n):
if len(str(n))==1:
return list1[int(n)]
elif len(str(n))==2:
if int(str(n)[1])==0:
return list2[int(int(n)/10)] + ""+fuc(int(n)%10)
else:
if int(str(n)[0])==1:
return list3[int(str(n)[1])]
else:
return list2[int(int(n)/10)] + " "+fuc(int(n)%10)
elif len(str(n))==3:
if int(int(n)/100)==0:
return fuc(int(int(n)/100)) + " hundred " + fuc(int(str(n)[-2:]))
else:
if int(int(str(n)[1:]))==0:
return fuc(int(int(n)/100)) + " hundred " + fuc(int(str(n)[-2:]))
else:
return fuc(int(int(n)/100)) + " hundred and " + fuc(int(str(n)[-2:]))
elif len(str(n))==4:
return fuc(int(int(n)/1000)) + " thousand "+fuc(int(str(n)[-3:]))
elif len(str(n))==5:
return fuc(int(str(n)[0:2])) + " thousand "+fuc(int(str(n)[-3:]))
elif len(str(n))==6:
return fuc(int(str(n)[0:3])) + " thousand "+fuc(int(str(n)[-3:]))
elif len(str(n))==7:
return fuc(int(str(n)[0])) + " million "+ fuc(int(str(n)[-6:]))
print(fuc(n1))
list1 = ["","one","two","three","four","five","six","seven","eight","nine"]
list2 = ["","ten","twenty","thirty","forty","fifty","sixty","seventy","eighty","ninety"]
list3 = ["","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"]
def fuc(n):
if len(str(n))==1:
return list1[int(n)]
elif len(str(n))==2:
if int(str(n)[1])==0:
return list2[int(int(n)/10)] + ""+fuc(int(n)%10)
else:
if int(str(n)[0])==1:
return list3[int(str(n)[1])]
else:
return list2[int(int(n)/10)] + " "+fuc(int(n)%10)
elif len(str(n))==3:
if int(int(n)/100)==0:
return fuc(int(int(n)/100)) + " hundred " + fuc(int(str(n)[-2:]))
else:
if int(int(str(n)[1:]))==0:
return fuc(int(int(n)/100)) + " hundred " + fuc(int(str(n)[-2:]))
else:
return fuc(int(int(n)/100)) + " hundred and " + fuc(int(str(n)[-2:]))
elif len(str(n))==4:
return fuc(int(int(n)/1000)) + " thousand "+fuc(int(str(n)[-3:]))
elif len(str(n))==5:
return fuc(int(str(n)[0:2])) + " thousand "+fuc(int(str(n)[-3:]))
elif len(str(n))==6:
return fuc(int(str(n)[0:3])) + " thousand "+fuc(int(str(n)[-3:]))
elif len(str(n))==7:
return fuc(int(str(n)[0])) + " million "+ fuc(int(str(n)[-6:]))
print(fuc(n1))
