Como poderei guardar 100 valores recebidos de um sensor numa lista em python, para realizar posteriormente o cálculo da media deles? Este é o código que tenho até agora: #biblioteca para chamar ficheiros de outra extensão from subprocess import check_output import time tam = 100 def criaVetor(valor): vec = [] for i in range(tam): # vamos fazer isto tam (N) vezes vec.append((valor)) return vec def Average(lst): return sum(lst)/len(lst) while True: # chama o ficheiro em linguagem C em modo diferencial sensor_data= check_output(['./raspandmax','-d'], shell=False).decode() output_value = (sensor_data)# mostra o valor analógico lido no ADC adc_value = float(output_value)# converte o valor analógico de string para float #print(adc_value)# mostra o valor da conversão print(criaVetor(adc_values) time.sleep(1) quando mando correr o código ele adiciona sempre o mesmo valor lido e não os valores seguintes como tenho quando mando correr o código [0.8554112934311049, 0.8554112934311049, 0.8554112934311049, 0.8554112934311049, 0.8554112934311049, 0.8554112934311049, 0.8554112934311049, 0.8554112934311049, 0.8554112934311049, 0.8554112934311049] a ideia é ler os valores da seguinte forma, por exemplo: valor 1 = 0.25 valor 2 = 0.26 valor 3 = 0.3 valor4 = ... valor5 = ... etc.. e inserir os valores da seguinte forma : [0.25, 0.26, 0.3, ..., ...] e assim sucessivamente Consegui esta solução para estar sempre a ler o vetor vec e ir fazendo a média do vetor total, pode não ser a melhor solução mas para o objectivo mostra o que quero perfeitamente. from subprocess import check_output import time tam = 1 vec = [] def criaVetor(valor): for i in range(tam): # vamos fazer isto tam (N) vezes vec.append((valor)) return vec def Average(lst): return sum(lst)/len(lst) while True: # chama o ficheiro em linguagem C em modo diferencial sensor_data= check_output(['./raspandmax','-d'], shell=False).decode() output_value = (sensor_data)# mostra o valor analógico lido no ADC adc_value = float(output_value)# converte o valor analógico de string para float #print(adc_value)# mostra o valor da conversão time.sleep(1) print("{0:.4f}".format(Average(criaVetor(adc_values))) mas agora tenho uma dúvida que é criar um ciclo while para estar sempre a ler o ficheiro raspandmax e dar o valor, e posteriormente só queria dentro do while True que me mostrasse o valor analógico recebido Continue reading...