题解 | #学英语#

学英语

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

n = int(input())
ones = {
    0: "",
    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",
}
tens = {
    2: "twenty",
    3: "thirty",
    4: "forty",
    5: "fifty",
    6: "sixty",
    7: "seventy",
    8: "eighty",
    9: "ninety",
    1: "ten",
}
def transfer(attr):
    if 0 <= attr <= 19:
        return ones[attr]
    elif 20 <= attr <= 99:
        return tens[attr // 10] + ["" if attr % 10 == 0 else " "][0] + ones[attr % 10]
    elif 100 <= attr <= 999:
        return (
            ones[attr // 100]
            + " hundred "
            + ["" if attr % 100 == 0 else "and "][0]
            + transfer(attr % 100)
        )
if n <= 999:
    print(transfer(n))
elif 1000 <= n <= 999999:
    print(transfer(n // 1000) + " thousand " + transfer(n % 1000))
else:
    print(
        transfer(n // 1000000)
        + " million "
        + transfer((n % 1000000) // 1000)
        + " thousand "
        + transfer((n % 1000000) % 1000)
    )

一起讨论啊

全部评论

相关推荐

“校招”、“3-5年经验”
飞花断音:小公司招逆向的不要去,基本上都是搞黑灰产违法的东西
点赞 评论 收藏
分享
湫湫湫不会java:1.在校经历全删了2.。这些荣誉其实也没啥用只能说,要的是好的开发者不是好好学生3.项目五六点就行了,一个亮点一俩行,xxx技术解决,xxx问题带来xxx提升。第一页学历不行,然后啥有价值的信息也没有,到第二页看到项目了,第一个项目九点,第二个项目像凑数的俩点。总体给人又臭又长,一起加油吧兄弟
点赞 评论 收藏
分享
仁者伍敌:牛子这些人还会点一个自动回复,boss都不带回复的
点赞 评论 收藏
分享
评论
2
1
分享

创作者周榜

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