Uploaded matriz.py

This commit is contained in:
2022-10-02 19:18:21 -03:00
parent 5688dbb7a0
commit 9748773b8b
2 changed files with 145 additions and 1 deletions

View File

@@ -1 +1,8 @@
# Class-homework
Its my homework / É minha lição de casa
Objetivos:
*Mostrar meu progresso
*salvar minhas tarefas no github e futuramente aprimorar elas

137
matriz.py Normal file
View File

@@ -0,0 +1,137 @@
import random
#gera matriz no tamanho informado
def gera_matriz():
t = int(input('Quantas linhas na sua matriz: '))
c = int(input('Quantas colunas na sua matriz: '))
a = [0]*t
print('Sua matriz:')
for i in range(t):
b = [0]* c
for j in range(c):
n = random.randint(1,100)
b[j] = n
print(b)
a[i] = b
return a
#Essa função soma os elementos acima da diagonal principal
def s_acima_dp(m):
s = 0
for i in range(len(m)):
for j in range(len(m[0])):
if j > i:
s += m[i][j]
return s
#Essa função soma os elementos abaixo da diagonal principal
def s_abaixo_dp(m):
s = 0
for i in range(len(m)):
for j in range(len(m[0])):
if j < i:
s += m[i][j]
return s
#Essa função calcula a soma dos elementos na diagonal principal
def s_dp(m):
s = 0
for i in range(len(m)):
for j in range(len(m[0])):
if j == i:
s += m[i][j]
return s
#Essa função soma matrizes se possivel
def s_matriz(m,s):
if len(m) == len(s) and len(m[0]) == len(s[0]):
s = 0
for i in range(len(m)):
for i in range(len(m[0])):
s+= m[i][j] + s[i][j]
return s
else:
print('Não é possivel realizar a soma dessas matrizes favor insira outras')
#Faz o produto das matrizes se possivel
def p_matriz(m,p):
if len(m[0]) == len(p):
n = [0]*len(m)
for i in range(len(m)):
c = [0]*len(m[0])
n[i] = c
for j in range(len(p[0])):
for f in range(len(m[0])):
n[i][j] += m[i][f] * p[f][j]
return n
else:
print('Essas matrizes são incompatíveis, insira outras')
#verifica soma das colunas
def s_colunas(m,c):
s = 0
for i in range(len(m)):
s += m[i][c]
return s
def s_ds(m):
s = 0
for i in range(len(m)):
for j in range(len(m[0])):
if (j == 1 and i == 1) or (j == 0 and i == 2) or (j == 2 and i == 0):
s += m[i][j]
return s
def s_l(m,l):
s = 0
for i in range(len(m)):
s += m[l][i]
#verifica se é um quadrado magico
def verifica_magico(m):
d1 = s_dp(m)
d2 = s_ds(m)
c1 = s_colunas(m, 0)
c2 = s_colunas(m, 1)
c3 = s_colunas(m, 2)
l1 = s_l(m, 0)
l2 = s_l(m, 1)
l3 = s_l(m, 2)
if d1 == d2 == c1 == c2 == c3 == l1 == l2 == l3:
print('É magico')
else:
print('não é magico')
#Exercicio 1:
def exer_1():
m = gera_matriz()
print(s_acima_dp(m))
#exercicio 2:
def exer_2():
m = gera_matriz()
print(s_abaixo_dp(m))
#exercicio 3
def exer_3():
m = gera_matriz()
print(s_dp(m))
#exercicio 4
def exer_4():
m = gera_matriz()
s = gera_matriz()
print(s_matriz(m,s))
#exercicio 5
def exerc_5():
m = gera_matriz()
p = gera_matriz()
p_matriz(m, p)
exerc_5()
#exercicio 6
def exerc_6():
m = [[8,1,6],[3,5,7],[4,9,2]]
verifica_magico(m)