如何将整数转换为python中的单词?

Kar*_*kar 1 python python-3.x

编写一个以整数作为输入参数的函数,并使用单词返回整数.例如,如果输入是4721,那么函数应该返回字符串"four seven two one".请注意,单词之间应该只有一个空格,并且它们应该在您返回的字符串中全部小写.

这是我的代码:

def Numbers_To_Words (number):
    dict = {1: "one", 2: "two", 3: "three", 4: "four", 5: "five", 6: "six", 7: "seven", 8: "eight", 9: "nine", 0: "zero"}
    output_str = " "
    list = []

#Main Program
number = 4721
result = Numbers_To_Words (number)
print (result)
Run Code Online (Sandbox Code Playgroud)

我的问题是,如何将数字分开,然后与我创建的字典进行比较?我知道长度不适用于整数数据类型.我知道将密钥发送到字典并获取其各自值的进一步逻辑.但在此之前,我被困在这里分隔整数的数字.

JRa*_*zor 5

使用模块:https: //pypi.python.org/pypi/num2words

另外,请检查类似的问题:如何告诉Python将整数转换为单词

您可以安装模块并查看它是如何在那里实现的.

但你的问题解决了:

def Numbers_To_Words (number):
    dictionary = {'1': "one", '2': "two", '3': "three", '4': "four", '5': "five", '6': "six",
            '7': "seven", '8': "eight", '9': "nine", '0': "zero"}
    return " ".join(map(lambda x: dictionary[x], str(number)))


print Numbers_To_Words(1234)
Run Code Online (Sandbox Code Playgroud)

  • 这显然是一项家庭作业,所以这个答案根本没有用 (4认同)

zon*_*ndo 5

有一种比其他方式更简单的方法:

def number_to_words(number)
    words = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten"]
    return " ".join(words[int(i)] for i in str(number))
Run Code Online (Sandbox Code Playgroud)