es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Agregando una lista – Python

Tengo una lista de temperaturas en días calurosos:
54.7, 34.5, 33.9, 37.1, 36.1

Entonces quiero comenzar con una lista de temperaturas como la de arriba y luego crear una nueva lista de acuerdo con las siguientes reglas:

Donde la temperatura sea menor a 30, agregar ‘Baja’ a la nueva lista.
Donde la temperatura sea normal (entre 30 y 50, incluyendo ambos valores), agregar ‘Normal’ a la nueva lista.
Donde la temperatura sea mayor a 50, agregar ‘Alta’ a la nueva lista.
Por ejemplo, la lista anterior daría lo siguiente:

[‘Alta’, ‘Normal’, ‘Normal’, ‘Normal’, ‘Normal’]

Soy un novato cuando se trata de Python, sé que necesito usar el método append, pero no logro que el código funcione, ¿alguien puede ayudarme con un ejemplo de código?

Disculpas, soy nuevo en Stack Overflow, no había publicado mi código anteriormente, pero aquí está, creo que logré obtener la salida que necesitaba.

EDITAR: el problema es que algunos de los resultados se están duplicando. No estoy seguro si he implementado correctamente las condiciones.

 # inicializar la entrada
temperaturas_dias_calurosos = [54.7, 34.5, 33.9, 37.1, 36.1]
# inicializar la lista de resultados como una lista vacía
resultados = []
# para cada valor de temperatura en la lista de temperaturas_dias_calurosos:
for temperatura in temperaturas_dias_calurosos:
    if temperatura < 30:
        resultados.append('Baja')
    if 30 <= temperatura <= 50:
        resultados.append('Normal')
    if temperatura > 50:
        resultados.append('Alta')

print(resultados)
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    ¡Tu código está casi listo! Solo hay un pequeño problema con las condiciones que has establecido en tu código. Aquí está el código corregido:

    # inicializa la entrada
    temperaturas_dias_calurosos = [54.7, 34.5, 33.9, 37.1, 36.1]
    # inicializa la lista de resultados como una lista vacía
    resultados = []
    # para cada temperatura en la lista de temperaturas_dias_calurosos:
    for temperatura in temperaturas_dias_calurosos:
        if temperatura < 30:
            resultados.append('Baja')
        elif temperatura >= 30 and temperatura <= 50:
            resultados.append('Normal')
        elif temperatura > 50:
            resultados.append('Alta')
    
    print(resultados)
    

    Los cambios realizados son:
    – La condición para temperaturas ‘Normales’ debería ser temperatura >=30 y temperatura <=50. ¡Tu condición original temperatura >=30 o temperatura <=50 incluiría todas las temperaturas!
    – Cambié las condiciones if por elif, para asegurarme de que solo se ejecute una condición para cada temperatura.

    ¡Espero que esto ayude!

Comments are closed.