Faça uma função que receba duas listas por parâmetro e retorne uma lista contento o produto entre
os elementos de mesmo índice da lista. E seguida, implemente umafunção que receba as três listas por parâmetro e armazene em um arquivo o conteúdo delas. No
programa principal, além de receber os dados das duas listas pelo usuário, faça a leitura do
arquivo e imprima os valores na tela.
1 Resposta
Clique aqui para adicionar a sua resposta.
aryadnesanttos15
O programa abaixo (e também anexado) não conta com validação de dados ou tratamento de erros/exceções, assim espera-se que o usuário entre com os dados de acordo com o que foi estabelecido no exercício.
Por exemplo, caso sejam enviados dados não inteiros (int), será retornado uma exceção ValueError, ou seja, de forma simples, o Python não será capaz de converter o dado em um número inteiro. Note também que não foi estabelecido o tamanho das listas e, caso seja enviado listas de tamanhos diferentes, teremos um IndexError ao tentar criar a 3ª lista.
Ainda, foi feita uma consideração que não foi explicitado no texto, estamos considerando listas de dados inteiros (int), mas nada impede que tenhamos listas de dados em ponto flutuante (float), para isso deveria-se mudar a função de casting utilizada.
Obs.: Os pontos que precedem algumas das linhas de programação não fazem parte do programa, foram colocados apenas para garantir a indentação do código aqui no site.
[Python 3.8]
def mult_listas(lst_1, lst_2):
.....lst_3 = list()
.....for i in range(len(lst_1)):
..........lst_3.append(lst_1[i]*lst_2[i])
.....return lst_3
def arquivamento(lst_1, lst_2, lst_3):
.....f = open('listas.txt', "w")
.....for i in lst_1:
..........f.write(f'{i} ')
.....f.write('n')
.....for i in lst_2:
..........f.write(f'{i} ')
.....f.write('n')
.....for i in lst_3:
..........f.write(f'{i} ')
.....f.close()
lista_1 = list()
lista_2 = list()
lst_aux = str(input('Digite a 1ª lista (valores separados por espaço simples):n')).split()
for c in lst_aux:
.....lista_1.append(int(c))
lst_aux = str(input('Digite a 2ª lista (valores separados por espaço simples):n')).split()
for c in lst_aux:
.....lista_2.append(int(c))
lista_3 = mult_listas(lista_1 , lista_2)
arquivamento(lista_1, lista_2, lista_3)
print('nDados armazenados no arquivo listas.txt:n')
f = open('listas.txt', 'r')
print(f.read())
f.close()