题解 | #学英语#
学英语
https://www.nowcoder.com/practice/1364723563ab43c99f3d38b5abef83bc
dic1 = {0:'',00:'',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:'nineteen',20:'twenty',30:'thirty',40:'forty',50:'fifty',60:'sixty',70:'seventy',80:'eighty',90:'ninety'}
dic2 = {3:'handred',4:'thousand',7:'million',8:'billion'}
def yiwei(n0):
return dic1[int(n0)]
def liangwei(n1):
if int(n1) <= 20:
return (dic1[int(n1)])
elif int(n1) < 100:
return (dic1[int(n1[0]+'0')] +' '+ yiwei(n1[-1])).strip(' ')
def sanwei(n2):
s = ''
if n2[0] == '0':
return liangwei(n2[1:])
else:
s = s + yiwei(n2[0]) + ' '+'hundred'
if n2[1] != '0':
f = liangwei(n2[1:])
s = s + ' '+'and' + ' '+f
elif n2[2] != '0':
g = yiwei(n2[2:])
s = s +' '+ 'and' +' '+ g
return s
def four26 (n3):
s = ''
if len(n3[:-3]) == 3:
j = sanwei(n3[:-3])
s += j
elif len(n3[:-3]) == 2:
j = liangwei(n3[:-3])
s += j
elif len(n3[:-3]) == 1:
j = yiwei(n3[:-3])
s += j
i = sanwei(n3[::-1][:3][::-1])
if s == '':
s += i
else:
s = s + ' '+'thousand' +' '+ i
return s
def seven29 (n4):
s = ''
if len(n4[:-6]) == 3:
j = sanwei(n4[:-6])
s += j
elif len(n4[:-6]) == 2:
j = liangwei(n4[:-6])
s += j
elif len(n4[:-6]) == 1:
j = yiwei(n4[:-6])
s += j
i = four26(n4[::-1][:6][::-1])
if s == '':
s += i
else:
s = s + ' '+'million'+' ' + i
return s
def ten212 (n5):
s = ''
if len(n5[:-9]) == 3:
j = sanwei(n5[:-9])
s += j
elif len(n5[:-9]) == 2:
j = liangwei(n5[:-9])
s += j
elif len(n5[:-9]) == 1:
j = yiwei(n5[:-9])
s += j
i = seven29(n5[::-1][:6][::-1])
if s == '':
s += i
else:
s = s + ' '+'billion' +' '+ i
return s
n = (input())
if len(n) == 1:
print(yiwei(n))
elif len(n) == 2:
print(liangwei(n))
elif len(n) == 3:
print(sanwei(n))
elif 4 <= len(n) <= 6:
print(four26(n))
elif 7 <= len(n) <= 9:
print(seven29(n))
elif 10<= len(n):
print(ten212(n))