将数字简单地转换为单词

时间:2014-09-09 21:41:04

标签: python python-2.7

嗨,我是编程新手,我正在努力学习Python。

我试图制作一个程序,将数字转换为数字的单词。 Ex 15将是“十五”。

目前我正在制作一个只处理10-20之间数字的小功能。我已经开始使用这段代码了:

listatva=["tio","elva","tolv","tretton","fjorton","femton","sexton","sjutton","arton","nitton"]
def dole(y):
    if 10<=y<20:
        y=listatva[y-1]
        print y

    return

dole(15)

但是当我运行代码时,我收到一条消息:IndexError:list index out of range。

我不明白。请问能解释一下吗? 感谢

2 个答案:

答案 0 :(得分:2)

您的问题出在y = listatva[y-1],您的问题是dole(15) y = 15。{/ p>

所以15 - 1 = 14并且您的列表中只有ten个元素。

因此,listatva[14]将为您提供IndexError

尝试使用modulo:y = listatva[y%10]

15 % 10 = 5listatva[5] == "femton",顺便说一句我不知道“femton”是什么语言,我只是假设它意味着15;)

答案 1 :(得分:1)

您需要使用dict而不是list。 e.g。

d = {1: 'one', 2: 'two', 3: 'three'}

>>> d[1]
'one'