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.

Estoy tratando de escribir una condición en la lista de Python.

Intenté escribir un programa en Python para aceptar una lista de enteros que comienza con 0 y termina con 20 del usuario. Cada entero de la lista mencionada difiere del anterior en dos o es cuatro veces el anterior. Devuelve verdadero o falso.

¿Alguien puede corregir la condición que he escrito?

lst = []

n = int(input("Ingrese el número de elementos en la lista:"))

for i in range(0, n):
    elem = int(input("Ingrese los elementos entre 0 y 20:"))
    lst.append(elem)

if elem >= 0 and elem <= 20:
    print(lst)

for i in elem:
    if (i+1) >= 2(i) or 4(i+1) == i:
        print(True)
    else:
        print(False)
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Hay algunos problemas con el código dado:

    1. La condición para verificar si cada entero en la lista difiere del anterior en dos o es cuatro veces el anterior es incorrecta.
    2. El bucle para verificar esta condición se ejecuta en la variable elem, que es el último elemento agregado a la lista, en lugar de en la lista misma.
    3. La salida True o False se imprime para cada entero en la lista, en lugar de para toda la lista.

    Aquí hay una versión corregida del código:

    lst = []
    
    n = int(input("Ingrese la cantidad de elementos en la lista: "))
    
    for i in range(n):
        elem = int(input("Ingrese un entero entre 0 y 20: "))
        if elem >= 0 and elem <= 20:
            lst.append(elem)
        else:
            print("Entrada no válida")
            break
    
    if len(lst) == n:
        resultado = True
        for i in range(1, n):
            if not (lst[i] == 4 * lst[i-1] or lst[i] - lst[i-1] == 2):
                resultado = False
                break
        print(resultado)
    

    En este código, primero validamos los enteros de entrada verificando si están entre 0 y 20, y salimos del bucle si encontramos alguna entrada no válida. Luego, verificamos si la longitud de la lista generada coincide con la longitud de entrada, y procedemos a recorrer la lista y verificar la condición de que cada entero difiere del anterior en dos, o es cuatro veces el anterior. Si algún entero no cumple esta condición, establecemos el resultado en False y salimos del bucle. Por último, imprimimos el resultado, que indica si toda la lista cumple con la condición.

Comments are closed.