mirror of
https://github.com/Bobertkiller/Class-homework.git
synced 2026-01-15 13:02:51 -03:00
Uploaded matriz.py
This commit is contained in:
@@ -1 +1,8 @@
|
|||||||
# Class-homework
|
# 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
137
matriz.py
Normal 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)
|
||||||
Reference in New Issue
Block a user