题解 | #学英语#

学英语

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

import sys

for line in sys.stdin:
    innum = int(line)

one_word = {
    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"
}

base_word = ["", "thousand", "million", "billion"]

if innum == 0:
    print("zero")
    exit()
else:
    next_three = innum
    final_word = []
    base_i = 0
    while next_three > 0:
        this_three = next_three % 1000
        next_three = int(next_three / 1000)
        final_word.append(base_word[base_i])
        base_i += 1

        if this_three in one_word:
            final_word.append(one_word[this_three])
        else:
            if this_three % 100 in one_word:
                final_word.append(one_word[this_three % 100])
            else:
                if this_three % 10 in one_word:
                    final_word.append(one_word[this_three % 10])
                if int(this_three / 10) % 10 * 10 in one_word:
                    final_word.append(one_word[int(this_three / 10) % 10 * 10])
            if this_three >= 100 :
                if this_three % 100 > 0:
                    final_word.append("and")
                final_word.append("hundred")
                final_word.append(one_word[int(this_three / 100)])
    print(" ".join(final_word[::-1]))

        
        

    

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务