题解 | #学英语#

学英语

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

import sys

n = int(input())

a = n % 1000
b = (n//1000) % 1000
c = (n//1000000) % 1000
d = n // 1000000000
num1 = [
    'zero', 'one', 'two', 'three', 'four', 
    'five', 'six', 'seven', 'eight', 'nine', 
    'ten', 'eleven', 'twelve', 'thirteen', 'fourteen', 
    'fifteen', 'sixteen', 'seventeen', 'eighteen', 'nineteen'
]
num2 = [
    0, 0, 'twenty', 'thirty', 'forty',
    'fifty', 'sixty', 'seventy', 'eighty', 'ninety'
]

def n2w(n):
    if n > 0:
        if n < 20:  #0-20的情况
            word.append(num1[n])
        else:   #几十几
            word.append(num2[n//10])
            if n % 10 != 0:
                word.append(num1[n%10])
def hun(n):
    if n >= 100:
        word.append(num1[n//100]) #百位
        word.append('hundred')
        if n % 100 != 0:    #有十位数
            word.append('and')
    n2w(n%100)

word = []
if d > 0:
    hun(d)
    word.append('billion')
if c > 0:
    hun(c)
    word.append('million')
if b > 0:
    hun(b)
    word.append('thousand')  
if a > 0:
    hun(a)

print(' '.join(word))

全部评论

相关推荐

独玖:同二本,建议咱俩一起重开
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务