题解 | #学英语#

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))

全部评论

相关推荐

11-20 15:03
四川大学 Java
点赞 评论 收藏
分享
12-15 11:27
门头沟学院 Java
哇哇的菜鸡oc:所有人不要理会,就好了,后面他就知道怎么回事了,只能说有的时候市场都是被宰的人搞坏的
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务