def gerador_de_tabuadas(): """Gera todas as tabuadas de 1 a 10 Entrada: nenhuma; Saída: lista de listas de strings""" lista_para_retorno = [] for número in range(1,11): #a tarefa aqui dentro é gerar e guardar a tabuada do número tabuada_atual = [] for fator in range(10): #a tarefa aqui dentro é gerar e guardar a linha da tabuada linha = str(número) + ' x ' + str(fator) + ' = ' + str(número*fator) list.append(tabuada_atual,linha) list.append(lista_para_retorno,tabuada_atual) return lista_para_retorno def gerador_de_matriz_4_3_de_zeros(): """Faz o prometido. Entrada: nenhuma; saída: lista de listas de ints""" matriz = [] for contador_de_linha in range(4): # aqui dentro a tarefa é gerar e guardar uma linha de 3 zeros linha = [] for contador_de_coluna in range(3): list.append(linha,0) list.append(matriz,linha) return matriz def gerador_ruim(): """ PARA FINS PURAMENTE DIDÁTICOS """ linha = 3*[0] return 4*[linha] def gerador_outro_ruim(): """ PARA FINS PURAMENTE DIDÁTICOS """ linha = 3*[0] return 4*[linha[:]] def multiplica_diagonal(matriz, k): """Retorna o resultado da matriz quando sua diagonal principal é multiplicada por k. A matriz TEM QUE SER QUADRADA. entradas: matriz (lista de listas de floats) e float saída: matriz""" quantidade_de_linhas_ou_colunas = len(matriz) cópia = copia_matriz(matriz) for i in range(quantidade_de_linhas_ou_colunas): cópia[i][i] *= k return cópia def copia_matriz(matriz_dada): """Retorna uma cópia (de fato) da matriz, sem alias""" matriz_cópia = [] for linha_da_matriz_dada in matriz_dada: # a tarefa aqui dentro é gerar e guardar uma cópia dessa linha linha_cópia = [] for elemento in linha_da_matriz_dada: list.append(linha_cópia,elemento) list.append(matriz_cópia, linha_cópia) return matriz_cópia def soma_matrizes(A,B): """Recebe duas matrizes de mesmo tamanho e retorna sua soma""" matriz_soma = [] quantidade_de_linhas = len(A) # ou len(B), dá no mesmo quantidade_de_colunas = len(A[0]) # ou len(B[0]) for posição_linha in range(quantidade_de_linhas): # a tarefa é gerar e guardar uma linha da matriz soma linha_da_soma = [] for posição_coluna in range(quantidade_de_colunas): # a tarefa é calcular e guardar o elemento correto elemento_da_soma = A[posição_linha][posição_coluna] + B[posição_linha][posição_coluna] list.append(linha_da_soma, elemento_da_soma) list.append(matriz_soma, linha_da_soma) return matriz_soma