Я создала таблицу, и думала заполнить её случайными числами, но что- то мне подсказывает, что это не то, что нужно. Смертно прошу помощи
Задание указала в коде.
Python:
"""На пространстве формы изображена матрица случайных чисел от 0 до 99 размером
7х7. Метка в виде овала исходно находится в начале четвертой строки, а после
запуска циклически движется сначала против часовой стрелки, потом по часовой, по
траектории вида с дискретом времени 0.6 сек. Запуск/остановка движения –
кнопка Checkbutton. Остановка приводит к установке рамки в исходное положение."""
# Начальные координаты для построения интерфейса
from telnetlib import AYT
from tkinter import *
import time
SX = 10
SY = 10
# Создает контейнер Canvas
def elementСanvasMatrix():
global elСanvasMatrix
elСanvasMatrix = Canvas(width=500, height=510, bg="white")
elСanvasMatrix.place(x=SX, y=SY)
# Создает матрицу
def elementRectangeofMatrix():
# Координаты первого квадрата матрицы
# UpLtCr - UpperLeftCorner; LrRtCr - LowerRightCorner
UpLtCRectangleX = SX
UpLtCRectangleY = SY * 2
LrRtCrRectangleX = SX * 7
LrRtCrRectangleY = SY * 8
# Координаты смещения для построения таблицы из квадратов. "X" - столбец, "Y" - строка.
DeltaX = SX * 7
DeltaY = SY * 7
# Множитель координат для построения строки
Row1 = 0
Row2 = 1
Row3 = 2
Row4 = 3
Row5 = 4
Row6 = 5
Row7 = 6
# Множитель координат для построения столбца
Column1 = 0
Column2 = 1
Column3 = 2
Column4 = 3
Column5 = 4
Column6 = 5
Column7 = 6
def ColumnOne():
global Col1Row1X1, Col1Row1Y1, Col1Row1X2, Col1Row1Y2
global Col1Row2X1, Col1Row2Y1, Col1Row2X2, Col1Row2Y2
global Col1Row3X1, Col1Row3Y1, Col1Row3X2, Col1Row3Y2
global Col1Row4X1, Col1Row4Y1, Col1Row4X2, Col1Row4Y2
global Col1Row5X1, Col1Row5Y1, Col1Row5X2, Col1Row5Y2
global Col1Row6X1, Col1Row6Y1, Col1Row6X2, Col1Row6Y2
global Col1Row7X1, Col1Row7Y1, Col1Row7X2, Col1Row7Y2
# Формулы расчета координат для создания квадратов матрицы
# Col № - Column; Row № - Row
# Столбец 1 Ячейка 1;
# Координаты квадрата
Col1Row1X1 = UpLtCRectangleX + (DeltaX * Column1)
Col1Row1Y1 = UpLtCRectangleY + (DeltaY * Row1)
Col1Row1X2 = LrRtCrRectangleX + (DeltaX * Column1)
Col1Row1Y2 = LrRtCrRectangleY + (DeltaY * Row1)
# Координаты текста в квадрате
Col1Row1TextX = Col1Row1X1 + ((Col1Row1X2 - Col1Row1X1) / 2)
Col1Row1TextY = Col1Row1Y1 + ((Col1Row1Y2 - Col1Row1Y1) / 2)
# Столбец 1 Ячейка 2
Col1Row2X1 = UpLtCRectangleX + (DeltaX * Column1)
Col1Row2Y1 = UpLtCRectangleY + (DeltaY * Row2)
Col1Row2X2 = LrRtCrRectangleX + (DeltaX * Column1)
Col1Row2Y2 = LrRtCrRectangleY + (DeltaY * Row2)
# Координаты текста в квадрате
Col1Row2TextX = Col1Row2X1 + ((Col1Row2X2 - Col1Row2X1) / 2)
Col1Row2TextY = Col1Row2Y1 + ((Col1Row2Y2 - Col1Row2Y1) / 2)
# Столбец 1 Ячейка 3
Col1Row3X1 = UpLtCRectangleX + (DeltaX * Column1)
Col1Row3Y1 = UpLtCRectangleY + (DeltaY * Row3)
Col1Row3X2 = LrRtCrRectangleX + (DeltaX * Column1)
Col1Row3Y2 = LrRtCrRectangleY + (DeltaY * Row3)
# Координаты текста в квадрате
Col1Row3TextX = Col1Row3X1 + ((Col1Row3X2 - Col1Row3X1) / 2)
Col1Row3TextY = Col1Row3Y1 + ((Col1Row3Y2 - Col1Row3Y1) / 2)
# Столбец 1 Ячейка 4
Col1Row4X1 = UpLtCRectangleX + (DeltaX * Column1)
Col1Row4Y1 = UpLtCRectangleY + (DeltaY * Row4)
Col1Row4X2 = LrRtCrRectangleX + (DeltaX * Column1)
Col1Row4Y2 = LrRtCrRectangleY + (DeltaY * Row4)
# Координаты текста в квадрате
Col1Row4TextX = Col1Row4X1 + ((Col1Row4X2 - Col1Row4X1) / 2)
Col1Row4TextY = Col1Row4Y1 + ((Col1Row4Y2 - Col1Row4Y1) / 2)
# Столбец 1 Ячейка 5
Col1Row5X1 = UpLtCRectangleX + (DeltaX * Column1)
Col1Row5Y1 = UpLtCRectangleY + (DeltaY * Row5)
Col1Row5X2 = LrRtCrRectangleX + (DeltaX * Column1)
Col1Row5Y2 = LrRtCrRectangleY + (DeltaY * Row5)
# Координаты текста в квадрате
Col1Row5TextX = Col1Row5X1 + ((Col1Row5X2 - Col1Row5X1) / 2)
Col1Row5TextY = Col1Row5Y1 + ((Col1Row5Y2 - Col1Row5Y1) / 2)
# Столбец 1 Ячейка 6
Col1Row6X1 = UpLtCRectangleX + (DeltaX * Column1)
Col1Row6Y1 = UpLtCRectangleY + (DeltaY * Row6)
Col1Row6X2 = LrRtCrRectangleX + (DeltaX * Column1)
Col1Row6Y2 = LrRtCrRectangleY + (DeltaY * Row6)
# Координаты текста в квадрате
Col1Row6TextX = Col1Row6X1 + ((Col1Row6X2 - Col1Row6X1) / 2)
Col1Row6TextY = Col1Row6Y1 + ((Col1Row6Y2 - Col1Row6Y1) / 2)
# Столбец 1 Ячейка 7
Col1Row7X1 = UpLtCRectangleX + (DeltaX * Column1)
Col1Row7Y1 = UpLtCRectangleY + (DeltaY * Row7)
Col1Row7X2 = LrRtCrRectangleX + (DeltaX * Column1)
Col1Row7Y2 = LrRtCrRectangleY + (DeltaY * Row7)
# Координаты текста в квадрате
Col1Row6TextX = Col1Row7X1 + ((Col1Row7X2 - Col1Row7X1) / 2)
Col1Row6TextY = Col1Row7Y1 + ((Col1Row7Y2 - Col1Row7Y1) / 2)
# 1 ячейка
elСanvasMatrix.create_rectangle(Col1Row1X1, Col1Row1Y1, Col1Row1X2,
Col1Row1Y2)
# 2 Ячейка
elСanvasMatrix.create_rectangle(Col1Row2X1, Col1Row2Y1, Col1Row2X2,
Col1Row2Y2)
# 3 Ячейка
elСanvasMatrix.create_rectangle(Col1Row3X1, Col1Row3Y1, Col1Row3X2,
Col1Row3Y2)
# 4 Ячейка
elСanvasMatrix.create_rectangle(Col1Row4X1, Col1Row4Y1, Col1Row4X2,
Col1Row4Y2)
# 5 Ячейка
elСanvasMatrix.create_rectangle(Col1Row5X1, Col1Row5Y1, Col1Row5X2,
Col1Row5Y2)
# 6 Ячейка
elСanvasMatrix.create_rectangle(Col1Row6X1, Col1Row6Y1, Col1Row6X2,
Col1Row6Y2)
# 7 Ячейка
elСanvasMatrix.create_rectangle(Col1Row7X1, Col1Row7Y1, Col1Row7X2,
Col1Row7Y2)
# Вызов вложенной функции по построению Столбца "One"
ColumnOne()
# (Я так выполняю все столбцы, а форум не позволяет больше 1000 символов)
# Создает интерфейс программы
def mainWindowProgram():
elementСanvasMatrix()
elementRectangeofMatrix()
# Задает параметры окна программы
def application():
global root
root = Tk()
root.title("20-ЗИЭ КР №2. Задание №4. Вариант 2-26. Трофимова Татьяна Дмитриевна")
root.geometry("520x570")
root.resizable(0, 0)
mainWindowProgram()
root.mainloop()
application()
Последнее редактирование модератором: