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)
davy.ai
Hay algunos problemas con el código dado:
elem
, que es el último elemento agregado a la lista, en lugar de en la lista misma.True
oFalse
se imprime para cada entero en la lista, en lugar de para toda la lista.Aquí hay una versión corregida del código:
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.