10 простих завдань із використанням Python та бібліотеки tkinter, яка включає роботу з canvas:
Завдання 1: Малювання прямокутника Створіть програму, яка малює прямокутник на полотні.
import tkinter as tk
root = tk.Tk()
canvas = tk.Canvas(root, width=400, height=400, bg="white")
canvas.pack()
canvas.create_rectangle(50, 50, 200, 150, fill="blue", outline="black")
root.mainloop()
Завдання 2: Малювання овалу Напишіть програму, яка малює овал на полотні.
import tkinter as tk
root = tk.Tk()
canvas = tk.Canvas(root, width=400, height=400, bg="white")
canvas.pack()
canvas.create_oval(100, 100, 300, 200, fill="red", outline="black")
root.mainloop()
Завдання 3: Малювання лінії Програма повинна малювати лінію між двома точками.
import tkinter as tk
root = tk.Tk()
canvas = tk.Canvas(root, width=400, height=400, bg="white")
canvas.pack()
canvas.create_line(50, 50, 350, 350, fill="green", width=3)
root.mainloop()
Завдання 4: Малювання багатокутника Створіть програму для малювання трикутника.
import tkinter as tk
root = tk.Tk()
canvas = tk.Canvas(root, width=400, height=400, bg="white")
canvas.pack()
canvas.create_polygon(200, 50, 300, 200, 100, 200, fill="yellow", outline="black")
root.mainloop()
Завдання 5: Заповнення кольором Додайте колір фону та фігур на полотні.
import tkinter as tk
root = tk.Tk()
canvas = tk.Canvas(root, width=400, height=400, bg="lightgrey")
canvas.pack()
canvas.create_rectangle(150, 150, 250, 250, fill="purple", outline="black")
root.mainloop()
Завдання 6: Малювання тексту Додайте текст на полотно.
import tkinter as tk
root = tk.Tk()
canvas = tk.Canvas(root, width=400, height=400, bg="white")
canvas.pack()
canvas.create_text(200, 200, text="Привіт, Canvas!", font=("Arial", 20), fill="blue")
root.mainloop()
Завдання 7: Рух фігури Напишіть програму, яка дозволяє переміщати фігуру клавішами.
import tkinter as tk
def move_circle(event):
if event.keysym == "Up":
canvas.move(circle, 0, -10)
elif event.keysym == "Down":
canvas.move(circle, 0, 10)
elif event.keysym == "Left":
canvas.move(circle, -10, 0)
elif event.keysym == "Right":
canvas.move(circle, 10, 0)
root = tk.Tk()
canvas = tk.Canvas(root, width=400, height=400, bg="white")
canvas.pack()
circle = canvas.create_oval(180, 180, 220, 220, fill="orange")
root.bind("<KeyPress>", move_circle)
root.mainloop()
Завдання 8: Малювання декількох фігур Програма повинна малювати набір прямокутників різних кольорів.
import tkinter as tk
root = tk.Tk()
canvas = tk.Canvas(root, width=400, height=400, bg="white")
canvas.pack()
colors = ["red", "green", "blue", "yellow"]
for i in range(4):
canvas.create_rectangle(50 + i * 50, 50, 100 + i * 50, 100, fill=colors[i])
root.mainloop()
Завдання 9: Малювання сітки Програма створює сітку на полотні.
import tkinter as tk
root = tk.Tk()
canvas = tk.Canvas(root, width=400, height=400, bg="white")
canvas.pack()
for i in range(0, 400, 20):
canvas.create_line(i, 0, i, 400, fill="grey")
canvas.create_line(0, i, 400, i, fill="grey")
root.mainloop()
Завдання 10: Графік функції Програма малює графік простої математичної функції.
import tkinter as tk
import math
root = tk.Tk()
canvas = tk.Canvas(root, width=400, height=400, bg="white")
canvas.pack()
for x in range(400):
y = 200 - 100 * math.sin(math.radians(x))
canvas.create_line(x, y, x + 1, y, fill="blue")
root.mainloop()
Ці завдання легко пристосовуються до навчальної програми. Якщо потрібно розширити чи уточнити їх, я із задоволенням допоможу!