Python - resta de numeros consecutivos en una lista dada

 
Vista:

resta de numeros consecutivos en una lista dada

Publicado por Eduardo (1 intervención) el 24/11/2022 01:58:02
La duda es con el segundo y tercer apartado, creo que el segundo está bien, pero el tercero a veces no entiendo de donde saca los valores que arroja, si me pueden corregir lo agradezco


"""En una estación meteorológica se registra la temperatura máxima y mínima diaria durante un mes y se almacena el resultado en dos
listas de valores. Diseña un programa en Pyhton en que se lean los datos por teclado y se muestre:


* La temperatura máxima media de los días del mes
* El día con la mayor diferencia entre la temperatura máxima y la mínima
* El mayor aumento de la temperatura mínima con respecto a la del día anterior y qué día ocurrió"""



T_max = []
T_min = []

while len(T_max) < 3:
valor = float(input("Introduzca una a una las temperaturas máximas de un mes: "))
T_max.append(valor)
print(T_max)

while len(T_min) < 3:
valor = float(input('Introduzca una a una las temperaturas mínimas de un mes: '))
T_min.append(valor)
T_min


media = (sum(T_max))/(len(T_max)) # Media temperaturas máximas
print('La media aritmética de las temperaturas máximas es', media)


massima = T_max[0]-T_min[0]
for i in range(len(T_max)):
if T_max[i]-T_min[i] > massima:
massima = T_max[i]-T_min[i]

print ("La mayor diferencia es:", massima)

minima = 0

for i in range(0, len(T_min)):

if T_min[i] - T_min[i-1]> minima:
minima = T_min[i] - T_min[i-1]


print(minima)
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
Imágen de perfil de Francisco Javier
Val: 249
Ha aumentado su posición en 29 puestos en Python (en relación al último mes)
Gráfica de Python

resta de numeros consecutivos en una lista dada

Publicado por Francisco Javier (313 intervenciones) el 24/11/2022 22:45:33
obviamente supongo que al poner menor a 3 días era para ir probando el código y no estar metiendo todos los dias del mes.
espero te sea de ayuda, en la segunda cuestión lo he desarrollado con zip() , me parecia más elegante. Un saludo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# -*- coding: utf-8 -*-
#!/usr/bin/python
 
 
#temperatura media maxima del mes
def media_maxima(lista1,lista2):
    media = (sum(lista1))/(len(lista2)) # Media temperaturas máximas
    return round(media,2)
#-----------------------------------------
 
# El mayor aumento de la temperatura mínima con respecto a la del día anterior y qué día ocurrió
def aumento_minima(lista):
    lista_diferencias=list()
    for i in range(1,len(lista)):
        if lista[i]<0:
            #lista[i]*=-1
            diferencia=lista[i]-lista[i-1]
            if diferencia<0:
                lista_diferencias.append(diferencia*-1)
            else:
                lista_diferencias.append(diferencia)
 
        else:
            diferencia=lista[i]-lista[i-1]
            if diferencia<0:
                lista_diferencias.append(diferencia*-1)
            else:
                lista_diferencias.append(diferencia)
    return max(lista_diferencias),lista_diferencias.index(diferencia)+1
 
#-----------------------------------------
# El día con la mayor diferencia entre la temperatura máxima y la mínima
def diferncia_mayor(lista1,lista2):
    diferencia = [e1 - e2 for e1, e2 in zip(lista1,lista2)]
    if max(diferencia)<0:
        return max(diferencia)*-1
    else:
        return max(diferencia)
#------------------------------------------
 
T_max = []
T_min = []
 
while len(T_max) < 3:
    valor = float(input("Introduzca una a una las temperaturas máximas de un mes: "))
    T_max.append(valor)
 
 
while len(T_min) < 3:
    valor = float(input('Introduzca una a una las temperaturas mínimas de un mes: '))
    T_min.append(valor)
 
print(f'''
La media de máxima durante el mes es de {media_maxima(T_max,T_min)}ºC
El día con la mayor diferencia entre la temperatura máxima y la mínima ha sido de {diferncia_mayor(T_max,T_min)}ºC
El mayor aumento de la temperatura mínima con respecto a la del día anterior es de {aumento_minima(T_min)[0]}ºC y qué día ocurrió fué el día {aumento_minima(T_min)[1]}
''')
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