Python中的IF语句导致索引错误

时间:2013-09-07 17:00:59

标签: python python-2.7

我的IF语句有问题,不知怎的,我得到索引错误。我一直在四处寻找,我无法找到问题的答案。当它向左移动程序时,程序就崩溃了,不知道为什么......

import Image
import ImageTk
import Tkinter

#Image list code, this is the image list and the text that goes to each image.

image_list = ['signori.png', 'nesta.png', 'marchegiani.png', 'piola.png']
text_list = ['En stor lazio legend och målskytt gjorde över 100mål för lazio', 'Lazios   största kapten genom tiderna vann 7 titlar med klubbe ', 'Lazios störta målvakt genom tiderna otroligt älskad','Lazios störta målskytt genom tiderna och italienska ligans bästa målskytt någonsin']
current = 0


#Code for moving the of pictures
def move(delta):
    global current, image_list
    if not (0 <= current + delta < len(image_list)):
        current += delta
        image = Image.open(image_list[current])
        photo = ImageTk.PhotoImage(image)
        label['text'] = text_list[current]
        label['image'] = photo
        label.photo = photo


root = Tkinter.Tk()

#Min kod för alla labels i applikationen, samt knappar och övriga GUI
label = Tkinter.Label(root, compound=Tkinter.TOP)
label.pack()

frame = Tkinter.Frame(root)
frame.pack()

Tkinter.Button(frame, text='Previous picture', command=lambda: move(-1)).pack(side=Tkinter.LEFT)
Tkinter.Button(frame, text='Next picture', command=lambda: move(+1)).pack(side=Tkinter.RIGHT)
Tkinter.Button(frame, text='Quit', command=root.quit).pack(side=Tkinter.RIGHT)

move(0)

root.mainloop()

1 个答案:

答案 0 :(得分:0)

更改

if not (0 <= current + delta < len(image_list)):

if 0 <= current + delta < len(image_list):