Baixe o app para aproveitar ainda mais
Prévia do material em texto
EMB5013 - Introdução à Programação de Computadores Profa. Tatiana Renata Garcia Gabarito Lista 8 –Matrizes em Python 1 - ### exercicio 1 - matriz identidade N = input('digite dimensao da matriz: ') mat = [0]*N for i in range(N): mat[i] = [0] * N print mat for j in range(N): mat[j][j] = 1 print mat[j][:] 2 – ### exercicio 2 ### calculo da transposta de uma matriz import random m = input('Entre com o numero de linhas') n = input('Entre com o numero de colunas') ### criacao da matriz e preenchimento M = [0]* m for i in range(m): M[i]=[0]* n for i in range(m): for j in range(n): M[i][j]=random.randint(0,30) print M[i][:] print ### criacao da matriz transposta MT = [0]* n # linhas MT = colunas M for i in range(n): MT[i]=[0]* m # colunas MT = linhas M ### calculo da transposta for i in range(n): for j in range(m): MT[i][j]=M[j][i] print MT[i][:] 3 – ### exercicio 3 ### calcular a soma dos impares, a soma das colunas e das linhas import random m = [0]*3 #criacao das linhas for j in range(3): #criacao de um vetor para cada linha m[j] = [0]* 3 #preenchimento da matriz for i in range(3): for j in range(3): m[i][j] = random.randint(0,10) print m[i][:] #calculo da soma dos impares soma = 0 for i in range(3): for j in range(3): if m[i][j] % 2 == 1: soma = soma + m[i][j] print 'Soma dos impares: ', soma #calculo da soma das colunas for i in range(3): #fixa coluna somacol = 0 for j in range(3): somacol= somacol + m[j][i] print 'Somatorio da coluna', i, '= ', somacol #calculo da soma das linhas for i in range(3): #fixa linha somalin = 0 for j in range(3): somalin= somalin + m[i][j] print 'Somatorio da linha', i, '= ', somalin 4 – ### exercicio 4 ### Criar matriz e depois criar vetores com o maior e menor elemento import random m = [0]*10 #criacao das linhas for j in range(10): #criacao de um vetor para cada linha m[j] = [0]* 10 #preenchimento da matriz for i in range(10): for j in range(10): m[i][j] = random.randint(0,100) print m[i][:] #criacao dos vetores vet1 = [0]*10 #vetor para guardar maiores das linhas for i in range(10): #fixa a linha maior = m[i][0] for j in range(10): #varia a coluna if m[i][j] > maior: maior = m[i][j] vet1[i] = maior #coloca na posicao i do vetor o maior elemento da linha i print 'Maiores elementos das linhas: ', vet1 #criacao dos vetores vet2 = [0]*10 #vetor para guardar menores das colunas for i in range(10): #fixa a coluna menor = m[0][i] for j in range(10): #varia as linhas if m[j][i] < menor: menor = m[j][i] vet2[i] = menor #coloca na posicao i do vetor o #menor elemento da coluna i print 'Menores elementos das colunas: ', vet2 5 – import random m = [0]*5 #criacao das linhas for j in range(5): #criacao de um vetor para cada linha m[j] = [0]* 5 #preenchimento da matriz for i in range(5): for j in range(5): m[i][j] = random.randint(0,100) print m[i][:] #troca da segunda linha da com a quinta linha for j in range(5): #varia coluna aux = m[1][j] m[1][j] = m[4][j] m[4][j] = aux print print 'Primeira operacao: troca da segunda linha com quinta linha' for i in range(5): print m[i][:] #troca da primeira coluna com quarta coluna for j in range(5): #varia coluna aux = m[j][0] m[j][0] = m[j][3] m[j][3] = aux print print 'Segunda operacao: troca da primeira coluna com quarta coluna' for i in range(5): print m[i][:] 6 – ## exercicio para manipular vetores em busca dos impares import random tam = 100 vet = [0] * tam for i in range(tam): vet[i] = random.randint(1,50) impares = 0 for i in range(tam): if vet[i] % 2 == 1: #e' impar impares = impares +1 print 'Vetor: ', vet print 'O vetor possui ', impares, 'numeros impares.' 7 – ### exercicio para manipular matrizes import random n = input('Digite dimensao da matriz: ') X = [0]*n Y = [0]*n W = [0]*n for i in range(n): X[i]=[0]*n Y[i]=[0]*n W[i]=[0]*n diag = [0]*n #vetor com a diagonal principal for i in range(n): for j in range(n): X[i][j]=random.randint(1,10) Y[i][j]=random.randint(1,10) if X[i][j] < Y[i][j]: W[i][j] = X[i][j] else: W[i][j] = Y[i][j] if i == j: diag[i] = X[i][j] print "Matriz X: ", X print "Matriz Y: ", Y print "Matriz W (com os menores): ", W print "Vetor com elementos da diagonal de X: ", diag s = [0]*n #vetor com a soma das colunas for i in range(n): soma = 0 for j in range(n): soma = soma + Y[j][i] s[i] = soma print "Vetor com a soma das colunas: ", s maior = s[0] col = 0 for i in range(n): if s[i] > maior: maior = s[i] col = i print 'Coluna com maior soma: ', col
Compartilhar