嗨,我是编程新手,我正在努力学习Python。
我正在试着做一个程序,把数字转换成数字的单词。Ex15应该是“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。
我不明白。有人能从飞机上下来吗?谢谢
发布于 2014-09-10 05:45:18
您的问题是在y = listatva[y-1]中,您运行您的函数作为dole(15)的地方y = 15。
所以15 - 1 = 14和你的列表中只有ten元素。
因此,listatva[14]会给你一个IndexError。
尝试使用模:y = listatva[y%10]
15 % 10 = 5,listatva[5] == "femton",顺便说一句,我不知道“15”是什么语言,我只是假设它的意思是femton ;)
发布于 2014-09-10 05:43:15
您需要使用dict,而不是list。例如:
d = {1: 'one', 2: 'two', 3: 'three'}
>>> d[1]
'one'https://stackoverflow.com/questions/25753964
复制相似问题