制作一个简单的“ 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