题解 | #学英语#

学英语

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

讲道理,我觉得我这个方法很拉胯

def get_twenty(x):
    if x % 10 == 0 and x != 10:
        return dict_2[str(x)[0]]
    elif x > 20:
        y = str(x)[0]
        z = str(x)[1:]
        return dict_2[y] + ' ' + dict_1[str(int(z))]
    return dict_1[str(x)]


def get_hundred(x):
    if x <= 20:
        return get_twenty(x)
    y = str(x)[0]
    z = str(x)[1:]
    if x % 10 == 0 and x < 100:
        return dict_2[str(x)[0]]
    elif x % 100 == 0 and x != 100:
        return f'{get_twenty(y)} hundred'
    elif x == 100:
        return 'one hundred'
    elif x == 1000:
        return 'one thousand'
    elif x > 100:
        return dict_1[y] + ' hundred and ' + get_twenty(int(z))
    elif 20 < x < 100:
        return dict_2[y] + ' ' + get_twenty(int(z))
    else:
        return dict_1[y] + get_twenty(int(z))


def get_thousand(x):
    y = str(x)[0:-3]
    z = str(x)[-3:]
    if x % 1000 == 0:
        return f'{get_twenty(y)} thousand'
    elif x == 10000:
        return 'ten thousand'
    else:
        return get_hundred(int(y)) + ' thousand ' + get_hundred(int(z))


def get_million(x):
    y = str(x)[0:-6]
    z = str(x)[-6:]
    if x % 1000000 == 0:
        return f'{get_twenty(y)} million'
    else:
        return get_hundred(int(y)) + ' million ' + get_thousand(int(z))


while True:
    try:
        input_res = int(input())
        dict_1 = {
            '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',
        }
        dict_2 = {
            '2': 'twenty',
            '3': 'thirty',
            '4': 'forty',
            '5': 'fifty',
            '6': 'sixty',
            '7': 'seventy',
            '8': 'eighty',
            '9': 'ninety',
        }
        if input_res <= 20:
            res = get_twenty(input_res)
        elif 20 < input_res <= 100:
            res = get_hundred(input_res)
        elif 100 < input_res <= 1000:
            res = get_hundred(input_res)
        elif 1000 < input_res < 1000000:
            res = get_thousand(input_res)
        elif 1000000 <= input_res:
            res = get_million(input_res)
        else:
            res = ''
        print(res)
    except EOFError:
        break



全部评论

相关推荐

11-14 16:13
已编辑
重庆科技大学 测试工程师
Amazarashi66:不进帖子我都知道🐮❤️网什么含金量
点赞 评论 收藏
分享
最近又搬回宿舍了,在工位坐不住,写一写秋招起伏不断的心态变化,也算对自己心态的一些思考表演式学习从开始为实习准备的时候就特别焦虑,楼主一开始选择的是cpp后端,但是24届这个方向已经炸了,同时自己又因为本科非92且非科班,所以感到机会更加迷茫。在某天晚上用java写出hello&nbsp;world并失眠一整晚后选择老本行干嵌入式。理想是美好的,现实情况是每天忙但又没有实质性进展,总是在配环境,调工具,顺带还要推科研。而这时候才发现自己一直在表演式学习,徘徊在设想如何展开工作的循环里,导致没有实质性进展。现在看来当时如果把精力专注在动手写而不是两只手端着看教程,基本功或许不会那么差。实习的焦虑5月,楼主...
耶比:哲学上有一个问题,玛丽的房间:玛丽知道眼睛识别色彩的原理知道各种颜色,但是她生活在黑白的房间里,直到有一天玛丽的房门打开了她亲眼看到了颜色,才知道什么是色彩。我现在最大可能的减少对非工作事情的思考,如果有一件事困扰了我, 能解决的我就直接做(去哪里或者和谁吵架等等……),解决不了的我就不想了,每一天都是最年轻的一天,珍惜今天吧
投递比亚迪等公司10个岗位 > 秋招被确诊为…… 牛客创作赏金赛
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务