How to convert an integer number to words in python?

前端 未结 6 657
走了就别回头了
走了就别回头了 2021-01-21 05:09

Write a function that takes an integer as input argument and returns the integer using words. For example if the input is 4721 then the function should retur

6条回答
  •  温柔的废话
    2021-01-21 05:44

    This will help you where you can't import modules for converting numbers to words. This code is for converting numbers from 1 to 1000 both inclusive.

    def integer_to_english(number):
        if number>=1 and number<=1000:
            a = ['','one','two','three','four','five','six','seven','eight','nine','ten','eleven','twelve','thirteen','fourteen','fifteen','sixteen','seventeen','eighteen','nineteen','twenty ','thirty ','fourty ','fifty ','sixty ','seventy ','eighty ','ninty ']
            if number<=20:
                if number%10==0: return a[number]
                else: return a[number]
            elif number<100:
                b=number-20
                r=b%10
                b//=10
                return a[20+b]+a[r]
            elif number<1000:
                if number%100==0:
                    b=number//100
                    return a[b]+' hundred'
                else:
                    r=number%100
                    b=number//100
                    if r<=20:
                        return a[b]+' hundred'+' and '+a[r]
                    else:
                        r=r-20
                        d=r//10
                        r%=10
                        return a[b]+' hundred'+' and '+a[20+d]+a[r]
            elif number==1000:
                return 'one thousand'
            else:
                return -1
    
    number=789
    print(integer_to_english(number))
    

提交回复
热议问题