Python题解 | #学英语#

学英语

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

import sys

ones = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"]
tens = ["ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen"]
twenties = ["zero", "ten", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety"]
hundreds = ["hundred", "thousand", "million", "billion"]
ihundreds = [100, 1000, 1000000, 1000000000, 1000000000000]


def istoe(n):
    if 0 <= n < 10:
        return ones[n]
    elif 10 <= n <= 19:
        return tens[n % 10]
    elif 20 <= n <= 99:
        s = twenties[n // 10]
        s2 = (" " + ones[n % 10]) if (n % 10) else ''
        return s + s2
    else:
        for i in range(4):
            if n < ihundreds[i + 1]:
                s3 = (istoe(n // ihundreds[i]) + " " + hundreds[i])
                s4 = ((" " if i else " and ") + istoe(
                    n % ihundreds[i])) if (n % ihundreds[i]) else ""
                return s3 + s4


while True:
    try:
        a = int(input())
        print(istoe(a))
    except:
        break

全部评论

相关推荐

真烦好烦真烦:牛友太有实力了
点赞 评论 收藏
分享
04-10 11:56
如皋中学 Java
高斯林的信徒:双c9能简历挂的?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务