Найти - Пользователи
Полная версия: Помогите найти ошибку в коде
Начало » Python для новичков » Помогите найти ошибку в коде
1
fox85
Добрый вечер!
Помогите исправить ошибку в коде.
Программа должна выдавать секрет долго лете вот код.


 
 # Долгожитель страница 293
# Демонстрируеттекстовое поле, текстовую облать и менеджер размещения Grid
from tkinter import *
class Application(Frame):
    " GUL-приложение, владеющее секретом долголетия."
    def __init__(self, master):
        " Иницилизирует рамку."
        super(Application, self).__init__(master)
        self.grid()
        self.create_widgets()
    # Размещение элементов управления с
    # помощью менеджера Grid
    def create_widgets(self):
        " Создает кнопку текстовое поле и текстовую область"
        # метка инструкция
        self.inst_lbl = Label(self, text = "Чтобы узнать секрет долголетия, введите пароль")
        self.inst_lbl.grid(row = 0, column = 0, columnspan = 2, sticky = W)
        # метка около поля ввода пароля
        self.pw_lbl = Label(self, text = "Пароль: ")
        self.pw_lbl.grid(row = 1, column = 0, sticky = W)
        # текстовое поле для ввода пароля
        self.pw_ent = Entry(self)
        self.pw_ent.grid(row = 1, column = 1, sticky = W)
        # кнопка отправки значения
        self.submit_bttn = Button(self, text = "Узнать секрет", command = self.reveal)
        self.submit_bttn.grid(row = 2, column = 0, sticky = W )
        # создание текстовой области. в которую будет выведен ответ
        self.secret_txt = Text(self, width = 35, height = 5, wrap = WORD)
        self.secret_txt.grid(row = 3, column = 0, columnspan = 2, sticky = W)
    def reveal(self):
        " В зависимости от введенного пароля отвечает размными сообщениями."
        contents = self.pw_ent.get()
        if contents == 'secret':
            message = "Чтобы дожить до 100 лет, надо сначало дожить до 99, " \
            "а потом вести себя ОЧЕНЬ осторожно."
        else:
            message = "Вы ввели неправлильный пароль так что я не могу " \
            "поделиться тайой с вами."
        self.secret_txt.delete(0,0, END)
        self.secret_txt.insert(0,0, message)
# основная часть
root = Tk()
root.title("Долгожитель")
root.geometry('300x150')
# подсоединею элиметы окна
app = Application(root)
# Старт окна
root.mainloop()



Но выходит ошибка
self.secret_txt.delete(0,0, END)
TypeError: delete() takes from 2 to 3 positional arguments but 4 were given

как исправить спасибо заранее
hizel
у .delete только два параметра

self.secret_txt.delete(0, END)
fox85
Что два параметра я удалил его теперь выдает вот что


Exception in Tkinter callback
Traceback (most recent call last):
File “C:\Users\filipp\AppData\Local\Programs\Python\Python35-32\lib\tkinter\__init__.py”, line 1549, in __call__
return self.func(*args)
File “CUsers/filipp/PycharmProjects/python3/longevity.py”, line 44, in reveal
self.secret_txt.delete(0, END)
File “C:\Users\filipp\AppData\Local\Programs\Python\Python35-32\lib\tkinter\__init__.py”, line 2984, in delete
self.tk.call(self._w, ‘delete’, index1, index2)
_tkinter.TclError: bad text index “0”
4kpt_III
self.secret_txt.delete(0.0, END)
self.secret_txt.insert(0.0, message)

P.S. Код ужасный. Почитайте по PEP8.
P.P.S. Для таких вопросов есть ветка GUI.
fox85
Я сейчас читаю книгу Майкл Доусон - Программируем на Python - 2014
код списал от туда.

Спасибо за помощь
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB