题解 | #学英语#

学英语

http://www.nowcoder.com/practice/1364723563ab43c99f3d38b5abef83bc

num=str(input())
dic1=['','one','two','three','four','five','six','seven','eight','nine']
dic2=['ten','eleven','twelve','thirteen','fourteen','fifteen','sixteen','seventeen','eighteen','nineteen']
dic3=['','ten','twenty','thirty','forty','fifty','sixty','seventy','eighty','ninety']
dic4=['','thousand','million','billion']
n=len(num)%3
if n==0:
    a=[]
else:
    a=[num[0:n]]
for i in range(len(num)//3):
    a.append(num[n+3*i:n+3*(i+1)])
b=[0 for i in range(len(a))]
for i in range(len(a)):
    if len(a[i])==1:
        b[i]=dic1[int(a[i])]
    elif len(a[i])==2:
        if a[i][0]=='1':
            b[i]=dic2[int(a[i][1])]
        elif a[i][1]!='0':
            b[i]=dic3[int(a[i][0])]+" "+dic1[int(a[i][1])]
        else:
            b[i]=dic3[int(a[i][0])]
    else:
        if a[i][0]=='0' and a[i][1]=='0':
            b[i]=dic1[int(a[i][2])]
        elif a[i][0]=='0' and a[i][1] =='1':
            b[i]=dic3[int(a[i][1])]+" "+dic2[int(a[i][2])]
        elif a[i][0]=='0' and a[i][1] not in ['0','1']:
            b[i]=dic3[int(a[i][1])]+" "+dic1[int(a[i][2])]
        elif a[i][1]=='0' and a[i][2]=='0':
            b[i]=dic1[int(a[i][0])]+' hundred '
        elif a[i][1]=='0' and a[i][2] !='0':
            b[i]=dic1[int(a[i][0])]+" hundred and "+dic1[int(a[i][2])]
        elif a[i][1]!='0' and a[i][2]=='0':
            b[i]=dic1[int(a[i][0])]+' hundred and '+dic3[int(a[i][1])]
        elif a[i][1]=='1' :
            b[i]=dic1[int(a[i][0])]+' hundred and '+dic2[int(a[i][2])]
        else:
            b[i]=dic1[int(a[i][0])]+" hundred and "+dic3[int(a[i][1])]+" "+dic1[int(a[i][2])]
str=''
for i in range(len(a)):
    str+=b[i]+' '+dic4[len(a)-1-i]+' '
print(str)
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务