Форум программистов, компьютерный форум, киберфорум
Python: Tkinter
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 29.05.2019
Сообщений: 10

Три матрицы показать на экране и с временной задержкой показать процесс заполнения элементов результирующей матрицы

21.11.2021, 14:34. Показов 981. Ответов 0

Студворк — интернет-сервис помощи студентам
Хай. Прошу не осуждать за говно-код. По заданию нужно: Все тpи матpицы показать на экpане и с вpеменной задеpжкой показать пpоцесс заполнения элементов pезультиpующей матpицы. Можете подсказать как мог бы я это выполнить?

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
from tkinter import Tk, Label, StringVar, Button, Entry, Canvas
import numpy as np
 
window = Tk()
window.title("Matrix")
window.geometry("980x350")
window.configure(bg='bisque2')
window.resizable(False, False)
 
Canvas(bg="white", width = 300, height=200).place(x=20,y=20)
Canvas(bg="white", width = 300, height=200).place(x=340,y=20)
Canvas(bg="white", width = 300, height=200).place(x=660,y=20)
 
 
# empty arrays for your Entrys and StringVars
text_var = []
entries = []
am=[]
bm=[]
cm=[]
dm=[]
 
arr = Entry(window, width=7)
arr2 = Entry(window, width=7)
 
text_var2 =[]
entries2=[]
 
arr3 = Entry(window, width=7)
arr4 = Entry(window, width=7)
 
def aandb():
    k=0
    global a
    val = arr.get()
    am.append(val)
    a = int(am.pop(k))
    
    global b
    val2 = arr2.get()    
    bm.append(val2)
    b = int(bm.pop(k))
 
    k += 1 
   
 
def matrix():       
    x2 = 0
    y2 = 0
    rows, cols = (a,b)
    for i in range(rows):
        # append an empty list to your two arrays
        # so you can append to those later
        text_var.append([])
        entries.append([])
        for j in range(cols):
            # append your StringVar and Entry
            text_var[i].append(StringVar())
            global cle
            cle = Entry(window, textvariable=text_var[i][j],width=4)
            entries[i].append(cle)
            entries[i][j].place(x=80 + x2, y=50 + y2)
            x2 += 40
        y2 += 40
        x2 = 0
 
# callback function to get your StringVars
def get_mat():    
    global matrix10
    matrix10 = []
    for i in range(a):
        matrix10.append([])
        for j in range(b):
            matrix10[i].append(text_var[i][j].get())
    print(matrix10)
 
def candd(): #spasibo Syrymovu Ayanu za naidennyu owibku
    k=0
    global c
    val = arr3.get()
    cm.append(val)
    c = int(cm.pop(k))
    
    global d
    val2 = arr4.get()    
    dm.append(val2)
    d = int(dm.pop(k))
 
    k += 1 
    
def matrix2():       
    x2 = 300
    y2 = 0
    rows, cols = (c,d)
    for i in range(rows):
        # append an empty list to your two arrays
        # so you can append to those later
        text_var2.append([])
        entries2.append([])
        for j in range(cols):
            # append your StringVar and Entry
            text_var2[i].append(StringVar())
            entries2[i].append(Entry(window, textvariable=text_var2[i][j],width=4))
            entries2[i][j].place(x=80 + x2, y=50 + y2)
            x2 += 40
        y2 += 40
        x2 = 300
 
def get_mat2():     
    global matri2
    matri2 = []
    for i in range(c):
        matri2.append([])
        for j in range(d):
            matri2[i].append(text_var2[i][j].get())
    print(matri2)
    
 
intmat1= []
intmat2 =[]
 
def change():
    for i in range(len(matrix10)):
 
        for i in matrix10:
            null = matrix10.pop(0)
 
        for i, elem in enumerate(null):
            null[i] = int(elem)
 
        intmat1.append(null)
        print(intmat1)
 
    for j in range(len(matri2)):
 
        for j in matri2:
            one = matri2.pop(0)
 
        for i, elem in enumerate(one):
            one[i] = int(elem)
 
        intmat2.append(one)
        print(intmat2)
 
    global mat1, mat2
    mat1 = np.array(intmat1)
    mat2 = np.array(intmat2)
    print(mat1)
    print(mat2)
 
def sum():
    print('Summ')
    total = mat1 + mat2
    print(total)
 
def mult():
    print('mult')
    total = mat1.dot(mat2)
    print(total)
 
def diff():
    print('diff')
    total = mat1 - mat2
    print(total)
 
def tran():
    print('tran')
    mat1.transpose()
 
arr.place(x=125,y=230)
arr2.place(x=185,y=230)
Button(window, text="Построить матрицу", width=15,command=lambda:[aandb(), matrix()]).place(x=120,y=255)
Button(window, text="Получить данные", width=15, command=lambda:[aandb(),get_mat()]).place(x=120,y=285)
 
 
arr3.place(x=425,y=230)
arr4.place(x=485,y=230)
Button(window, text="Построить матрицу", width=15,command=lambda:[candd(), matrix2()]).place(x=420,y=255)
Button(window, text="Получить данные", width=15, command=lambda:[candd(),get_mat2()]).place(x=420,y=285)
 
Button(window, text="Сумма", width=15, command=lambda:[change(),sum()]).place(x= 720, y =255)
Button(window, text="Умножение", width=15, command=lambda:[change(),mult()]).place(x= 720, y =285)
Button(window, text="Вычитание", width=15, command=lambda:[change(),diff()]).place(x= 720, y =315)
window.mainloop()
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.11.2021, 14:34
Ответы с готовыми решениями:

Показать на экране элементы третьего ряда матрицы
Создать двумерный массив целых чисел из 7 рядов и 8 колонн. Заполнить массив случайными числами в интервале . Показать на экране элементы...

Сформировать массив из строк матрицы содержащих только положительные элементы и показать на экране
дано NxM матрица. Записать матрицу в файл. Сформировать массив из элементов тех строк, где все элементы положительные. Нужно сделать...

Сформировать массив из строк матрицы содержащих только положительные элементы и показать движение чисел на экране
Дана матрица размерностью N на M. Нужно записать матрицу в ФАЙЛ! Например у нас матрица такая: 1 2 3 -4 5 6 7 8 9 1 2 -3 ...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.11.2021, 14:34
Помогаю со студенческими работами здесь

Временной шаг заполнения матрицы
Доброго времени суток. У меня такого рода не задачка) Писал программку которая считает значения элементов матрицы, с граничными условиями,...

Временной шаг заполнения матрицы
Доброго времени суток. У меня такого рода не задачка) Писал программку которая считает значения элементов матрицы, с граничными условиями,...

Временной шаг заполнения матрицы
Доброго времени суток. У меня такого рода не задачка) Писал программку которая считает значения элементов матрицы, с граничными условиями,...

Показать, что матрицы можно привести к диагональному виду
. Показать, что следующие матрицы линейных операторов в трех- мерном вещественном линейном пространстве можно привести к диа- ...

Метод LU-разложения. Показать, что если λ– собственное число матрицы A, то 1/λ– собственное число обратной матрицы A
Задание. Составить программу, которая для заданной матрицы A = (aij) nxm (2<n<11) позволит определить собственные числа и проверить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru