如何解决第28行中的“列表索引超出范围”错误?

时间:2019-06-22 08:33:08

标签: python tkinter

制作一个简单的“ app”来检查用户输入的数字是否是回文数,但是我一直从第29行得到“列表索引超出范围错误”

我已经使用了没有GUI和tkinter库的简单代码尝试了此方法,并且效果很好。不确定为什么它在这里不起作用。

from tkinter import *
from tkinter import messagebox
window = Tk()
window.title("Palindrome numbers")
lbl = Label(window, text = "Enter a 3 digit number: ")
lbl.grid(column = 0, row = 0)
window.geometry('350x200')
txt = Entry(window, width = 10)
txt.grid(column = 1, row = 1)
txt.focus()
string = txt.get()
num = 1
spl = []

try:
    num = int(string)
except:
    def clicked():
        messagebox.showinfo('Output', 'Please enter a 3 digit number only')

if num < 100 or num > 999:
    def clicked():
        messagebox.showinfo('Output', 'Please enter a number between 100 and 999 only')
else:
    spl = [int(x) for x in str(num)]

rev = [spl[2], spl[1], spl[0]]
revnum = "".join(str(x) for x in spl)

使用123输入,我希望可以得到

The number you entered is: 123
The reversed number is: 321
This is not a palindrome number

但是,我收到此追溯:

Traceback (most recent call last):
  File "inputpalindrome.py", line 29, in <module>
    rev = [spl[2], spl[1], spl[0]]
IndexError: list index out of range

0 个答案:

没有答案