学英语

学英语_牛客网

https://www.nowcoder.com/practice/1364723563ab43c99f3d38b5abef83bc?tpId=37&tqId=21265&rp=0&ru=/ta/huawei&qru=/ta/huawei/question-ranking

#有些地方还有些迷糊,先MARK一下
def dps(n):
    m1 = 'one,two,three,four,five,six,seven,eight,nine,ten,eleven,twelve,thirteen,fourteen,fifteen,sixteen,seventeen,eighteen,nineteen'.split(',')
    m2 = 'twenty,thirty,forty,fifty,sixty,seventy,eighty,ninety'.split(',')
    if(n<20):
        return m1[n-1:n]
    if(n<100):
        return [m2[n//10-2]] + dps(n%10)
    if(n<1000):
        return [m1[n//100-1]]+['hundred']+['and']+dps(n%100)
    else:
        for w,p in enumerate(('thousand','million','billion'),1):
            if(n<1000**(w+1)):
                return dps(n//(1000**w))+[p]+dps(n%1000**w)
def question():
    n = int(input())
    return ' '.join(dps(n)) or zero
while(True):
    try:
        print(question())
    except:
        break

全部评论
# 题主答案很好很简洁,但漏了若干情况。我做了一些补充和修改 def dps(n): m1 = &(942)#39;one,two,three,four,five,six,seven,eight,nine,ten,eleven,twelve,thirteen,fourteen,fifteen,sixteen,seventeen,eighteen,nineteen'.split(&(943)#39;,') m2 = &(944)#39;twenty,thirty,forty,fifty,sixty,seventy,eighty,ninety'.split(&(943)#39;,') if(n<20): return m1[n-1:n] if(n<100): return [m2[n//10-2]] + dps(n%10) if(n<1000): if n%100 == 0: return [m1[n//100-1]]+[&(945)#39;hundred'] else: return [m1[n//100-1]]+[&(946)#39;hundred&#39;]+[&#39;and']+dps(n%100) else: for w,p in enumerate((&(947)#39;thousand&#39;,&#39;million&#39;,&#39;billion'),1): if(n<1000**(w+1)): return dps(n//(1000**w))+[p]+dps(n%1000**w) def question(): n = int(input()) return &(948)#39; '.join(dps(n)) or &(949)#39;zero' while(True): try: print(question()) except: break
1 回复 分享
发布于 2020-02-26 03:11
1009读成one thousand nine会不会别扭?
点赞 回复 分享
发布于 2021-09-22 18:55
if(n<1000): if n%100!=0: return [m1[n//100-1]]+['hundred']+['and']+dps(n%100) else: return [m1[n//100-1]]+['hundred']+dps(n%100) 把这个if改成这样就行了。
点赞 回复 分享
发布于 2021-09-22 17:49
漏了 如果 末尾是100的倍数的情况,比如:10001000100,结尾会多打印and
点赞 回复 分享
发布于 2021-06-07 12:27

相关推荐

肥肠椒绿:双非本可不就犯天条了,双非本就应该打入无间地狱
点赞 评论 收藏
分享
评论
9
2
分享

创作者周榜

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