题解 | #学英语#

学英语

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

s_1 = {'0':'','1':'one','2':'two','3':'three','4':'four','5':'five','6':'six','7':'seven','8':'eight','9':'nine'}
s_2 = {'10':'ten','11':'eleven','12':'twelve','13':'thirteen','14':'fourteen','15':'fifteen','16':'sixteen','17':'seventeen','18':'eighteen','19':'nineteen'}
s_3 = {'2':'twenty','3':'thirty','4':'forty','5':'fifty','6':'sixty','7':'seventy','8':'eighty','9':'ninety',}
def print_e (j,b):
    if(j == 0):
        if(b[0] == '0') & (b[1] == '0') & (b[2] == '0'):
            return ''
        else:
            if(b[0] == '0'):
                if(b[1] == '0'):
                    return s_1[b[2]] + ' million '
                elif(b[1] == '1'):
                    return  s_2[b[1] + b[2]]+ ' million '
                else:
                    return  s_3[b[1]] + ' '+ s_1[b[2]]+ ' million '
            else:
                if(b[1] == '0'):
                    return s_1[b[0]] + ' hundred' + ' and ' + s_1[b[2]]+ ' million '
                elif(b[1] == '1'):
                    return s_1[b[0]] + ' hundred ' + ' and ' + s_2[b[1] + b[2]]+ ' million '
                else:
                     return s_1[b[0]] + ' hundred ' + ' and ' + s_3[b[1]] +' '+ s_1[b[2]]+ ' million '
    elif(j == 1):
        if(b[0] == '0') & (b[1] == '0') & (b[2] == '0'):
            return ''
        else:
            if(b[0] == '0'):
                if(b[1] == '0'):
                    return s_1[b[2]] + ' thousand '
                elif(b[1] == '1'):
                    return s_2[b[1] + b[2]] + ' thousand '
                else:
                    return s_3[b[1]] + ' ' + s_1[b[2]] + 'thousand '
            else:
                if(b[1] == '0'):
                    return s_1[b[0]] + ' hundred' + ' and ' + s_1[b[2]] + ' thousand ' 
                elif(b[1] == '1'):
                    return s_1[b[0]] + ' hundred' + ' and ' + s_2[b[1] + b[2]] + ' thousand ' 
                else:
                    return s_1[b[0]] + ' hundred' + ' and ' + s_3[b[1]] +' '+ s_1[b[2]] + ' thousand '
    else:
        if(b[0] == '0') & (b[1] == '0') & (b[2] == '0'):
            return ''
        else:
            if(b[0] == '0'):
                if(b[1] == '0'):
                    return s_1[b[2]]
                elif(b[1] == '1'):
                    return  s_2[b[1] + b[2]]
                else:
                    return  s_3[b[1]] + ' ' +  s_1[b[2]]
            else:
                if(b[1] == '0'):
                    if(b[2] == '0'):
                        return s_1[b[0]] + ' hundred '
                    else:
                        return s_1[b[0]] + ' hundred ' + 'and ' + s_1[b[2]]
                elif(b[1] == '1'):
                    return s_1[b[0]] + ' hundred ' + 'and ' + s_2[b[1] + b[2]]
                else:
                    return s_1[b[0]] + ' hundred ' + 'and ' + s_3[b[1]] + ' ' + s_1[b[2]]
    

while True:
    try:
        num = int(input())
        num = '{:09d}'.format(num)
        num = list(num)
        num.insert(3,',')
        num.insert(7,',')
        num = ''.join(num)
        num = num.split(',')
        num_1 = print_e(0,num[0])
        num_2 = print_e(1,num[1])
        num_3 = print_e(2,num[2])
        print(num_1 + num_2 + num_3)
            
    except:
        break
华为机试题解(prod.by kedao) 文章被收录于专栏

华为实习机试题解

全部评论

相关推荐

01-24 08:13
已编辑
合肥工业大学 Java
程序员牛肉:没啥问题。标准的流水线简历,但是学历好一点,所以应该是有约面的机会的。 这段时间可以考虑把自己的两个项目彻底的理一理。争取能够讲清楚每一个功能点
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客企业服务