import tkinter as tk
def add_task():
task = entry.get()
if task:
listbox.insert(tk.END, task)
entry.delete(0, tk.END)
def mark_as_complete():
selected = listbox.curselection()
if selected:
listbox.itemconfig(selected, fg="gray")
def remove_task():
selected = listbox.curselection()
if selected:
listbox.delete(selected)
root = tk.Tk()
root.title("To-Do List App")
root.geometry("300x400")
frame = tk.Frame(root)
frame.pack(pady=10)
entry = tk.Entry(frame, width=25)
entry.pack(side=tk.LEFT)
listbox = tk.Listbox(root, width=40, height=15)
listbox.pack(pady=10)
button_frame = tk.Frame(root)
button_frame.pack(pady=5)
add_button = tk.Button(button_frame, text="Add Task", command=add_task)
add_button.pack(side=tk.LEFT, padx=5)
complete_button = tk.Button(button_frame, text="Mark as Complete",
command=mark_as_complete)
complete_button.pack(side=tk.LEFT, padx=5)
remove_button = tk.Button(button_frame, text="Remove Task", command=remove_task)
remove_button.pack(side=tk.LEFT, padx=5)
root.mainloop()
1 Ұнайды
Первый шаг в отладке — понять суть проблемы. Часто это включает в себя изучение выходных данных программы и поиск ошибок или неожиданного поведения. Можно использовать ведение журналов и операторы print, чтобы вывести информацию о состоянии программы в разных местах кода.
1 Ұнайды
Полиморфизм — это способность объекта принимать различные формы. В ООП полиморфизм позволяет писать код, который может работать с объектами разных классов, если они имеют общий интерфейс или базовый класс.
Переопределение метода — это свойство наследования, которое позволяет предоставить новую реализацию метода в производном классе, отменяющую реализацию в базовом классе.
Помимо переопределения методов, производный класс может вызывать методы базового класса с помощью функции super().
Списковые включения — это мощный способ создания новых списков на основе существующих.
ностной) копией исходной структуры данных. Неглубокая копия означает, что новый объект имеет
При копировании создается новый объект, который является неглубокой (поверхностной) копией исходной структуры данных. Неглубокая копия означает, что новый объект имеет
При копировании создается новый объект, который является неглубокой (поверхностной) копией исходной структуры данных. Неглубокая копия означает, что новый объект имеет свою собственную область памяти, но разделяет те же внутренние объекты (например, вложенные списки или словари), что и исходная структура данных. Если какие-либо из внутренних объектов являются изменяемыми (например, списки), изменения этих объектов будут отражены как в исходной структуре данных, так и в копии.
Чтобы создать клон списка, используйте оператор нарезки (:). Он создает новый список с теми же элементами, что и в исходном.
- Басты
- ⭐️IT-технологии
- Петр Левашов
- Python с нуля
- 📖Дәйексөздер
