Как я могу исправить ошибку 'list index out of range' в строке 28? - PullRequest
0 голосов
/ 22 июня 2019

Создание простого «приложения» для проверки того, является ли введенный пользователем номер палиндромным или нет, но я продолжаю получать «индекс списка вне диапазона ошибок» из строки 29

Я пробовал это с помощьюболее простой код без графического интерфейса и библиотеки 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...