Python - ayuda con un codigo

 
Vista:

ayuda con un codigo

Publicado por Ignacio (1 intervención) el 21/03/2020 00:18:55
Necesito ayuda con un codigo en PYTHON porfavor.
Se tiene un archivo.txt con datos que son volumen de agua

2) Cada registro del archivo representa 1 segundo, y el dato un volumen de agua (cc)
que fluye en ese segundo

3) Con todas las herramientas disponibles y su investigación, deben desarrollar una solución donde el archivo se lleve a matriz, y se represente el llenado de un envase con este flujo descrito.

4) El envase será un segundo arreglo, donde cada casilla de el representará 1cc de agua. ¿Como mostrará que una casilla se llenó? Marcando una X en ella.

5) Deberá recorrer todos los registros del archivo, y solo cuando se haya acumulado 1cc marcar una X en el arreglo de envase. Por ejemplo, nuestro primer registro es de 0.38..., no alcanza a ser 1cc, aun no marco nada en el envase. Sigue sumándole los siguientes y luego del 4, cuando suma aprox 1.2cc, puedo marcar una X en el envase, y me quedarían ~0.2cc para seguir el proceso.

6) El archivo suma poco más de 51cc, por ende, el resultado final deberá ser un arreglo de envase, con 51 casillas marcadas con X y una "sobrita" de liquido que se perderá. Recalco que lo más importante es el proceso de llenado y la dinámica de aquello.

Lo que llevo de momento:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
data = []
with open("06caudal.txt") as file:
    for linea in file:
        data + [float(linea[:-1])]
envase = []
sum = 0
for i in range(len(data)):
    sum+=data[i]
    if sum - int(sum) < 1e-13:
        envase+=['x']
print(envase)
print(len(envase))
 
//gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

ayuda con un codigo

Publicado por Costero (92 intervenciones) el 21/03/2020 19:11:49
No se si esta bien. Seria bueno tener el txt file para comprobar.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
data = []
with open("calculation.txt") as file:
    for linea in file:
        data.append(float(linea))
 
print("Data " + str(len(data)))
 
sum = 0
envase = []
 
for i in range(len(data)):
    sum += data[i]
    if sum > 1:
        envase.append('x')
        sum -= data[i]
 
print("Envase: " + str(len(envase)))
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ayuda con un codigo

Publicado por Costero (92 intervenciones) el 22/03/2020 02:32:59
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
data = []
with open("calculation.txt") as file:
    for linea in file:
        data.append(float(linea))
 
print("Data " + str(len(data)))
 
sum = 0
envase = []
 
for i in range(len(data)):
    sum += data[i]
    if sum >= 1:
        envase.append('x')
        sum -= 1
 
print("Envase: " + str(len(envase)))
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar