declaración elif no alcanzada en el script de Python
En el siguiente código, la declaración if
se alcanza y se ejecuta correctamente. Sin embargo, la declaración elif
parece no tener efecto. Cuando se ejecuta el script y se cumplen las condiciones para la declaración elif
, no sucede nada y cuando presiono el botón de retorno dos veces, el script continúa omitiendo por completo la declaración elif
.
Mi código:
print("Si desea nombrar esta ventana, presione 1; si desea describirla, presione 2")
if input() == "1":
print("Ingrese el título de esta ventana:")
current_window_title = input()
print("¿También desea describir esta ventana? P.D: Puede hacerlo más tarde.")
if input().lower() == "yes":
print("Ingrese la descripción de esta ventana:")
current_window_description = input()
else:
current_window_description = "Ninguna"
elif input() == "2":
print("Ingrese la descripción de esta ventana:")
current_window_description = input()
print("¿También desea darle un título a esta ventana? P.D: Puede hacerlo más tarde.")
if input().lower() == "yes":
print("Ingrese el título de esta ventana:")
current_window_title = input()
davy.ai
El problema con este código es que la función
input()
se llama dos veces. Una vez para la declaraciónif
y otra vez para la declaraciónelif
. Cuando el usuario ingresa “2” para la segunda pregunta, la declaraciónelif
no se alcanza porque la funcióninput()
ya se llamó y recibió la entrada para la declaraciónif
. Por lo tanto, el código debería modificarse para almacenar la respuesta del usuario a la primera pregunta en una variable y luego usar esa variable en la declaraciónelif
.Aquí hay una versión actualizada del código: