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
|
||||
|
||||
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