待消化:“Speech Module”--转换阿拉伯数字为英文

转换三位以内的阿拉伯数字为英文

我的解法:(基本上也就是用笨办法if出来了……主要是//整除和%取余的应用)

FIRST_TEN = ["one", "two", "three", "four", "five", "six", "seven",

            "eight", "nine"]

SECOND_TEN = ["ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen",

              "sixteen", "seventeen", "eighteen", "nineteen"]

OTHER_TENS = ["twenty", "thirty", "forty", "fifty", "sixty", "seventy",

              "eighty", "ninety"]

HUNDRED = "hundred"

def checkio(number):

    result = ""

    if number < 10:

        result = FIRST_TEN[number-1]

    elif number < 100:

        if number < 20:

            result = SECOND_TEN[number-10]

        elif number%10 == 0:

            result = OTHER_TENS[number//10-2]

        else:

            result = OTHER_TENS[number//10-2]+" "+FIRST_TEN[number%10-1]

    else:

        if number%100 in range(10,20):

            result = FIRST_TEN[number//100-1]+" "+HUNDRED+" "+SECOND_TEN[number%10]

        elif number%100 in range(1,10):

            result = FIRST_TEN[number//100-1]+" "+HUNDRED+" "+FIRST_TEN[number%100-1]

        elif number%100 == 0:

            result = FIRST_TEN[number//100-1]+" "+HUNDRED

        elif number%10 == 0:

            result = FIRST_TEN[number//100-1]+" "+HUNDRED+" "+OTHER_TENS[number%100//10-2]

        else:

            result = FIRST_TEN[number//100-1]+" "+HUNDRED+" "+OTHER_TENS[number%100//10-2]+" "+FIRST_TEN[number%10-1]

    return result


RANDOM SOLUTION

(真心惊艳!写法非常简练,涉及chain,zip,f-string用法,说实话还有点没看懂,保存下来慢慢学习!)

from itertools import chain

TWENTY = [

    '', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight',

    'nine', 'ten', 'eleven', 'twelve', 'thirteen','fourteen', 'fifteen',

    'sixteen', 'seventeen', 'eighteen', 'nineteen'

]

TENS = ['twenty', 'thirty', 'forty', 'fifty', 'sixty', 'seventy', 'eighty', 'ninety']

N = dict(chain(enumerate(TWENTY), zip(range(20, 91, 10), TENS)))

def checkio(n):

    n, h, u = n % 100, n // 100, n % 10

    return (f'{N[h]} hundred ' * (h>0) + N.get(n, f'{N[n-u]} {N[u]}')).strip()

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi阅读 7,449评论 0 10
  • **2014真题Directions:Read the following text. Choose the be...
    又是夜半惊坐起阅读 9,921评论 0 23
  • 今天晚上一口气读完了余华的《活着》,看的过程中哭了很多次,为小说中人物的极端悲惨命运。看完之后,感觉心里很堵得...
    高飞振翅阅读 73评论 0 2
  • 脆皮金针卷的做法(文字版) 原料: 金针菇、杏鲍菇、木耳、胡萝卜、中芹、腐皮。 调料: 素蚝油、盐、蘑菇精、胡椒粉...
    在五台山闲逛的日子阅读 248评论 0 0
  • 5.30健康是最重要的 今天豹妈去做了身体检查,去之前就已经意识到问题可能比较严重了。果然检查结果应证了我的预感,...
    9fb3bcc89c96阅读 175评论 0 0