¿Cómo puedo ir a un punto específico en un bucle? (python)
Lo que me está costando ahora es esto. Dado que el código original es demasiado largo para escribirlo aquí, omití todos los anuncios y la cláusula elif, else de reply1, 2, 3. Quiero ver el programa volver a la línea 5: print(choice2) cuando escribo las entradas incorrectas en la línea 6: reply2 = input(). Pero el programa sigue devolviéndome print(choice1). ¿Cómo puedo resolver esto? Cualquier ayuda será muy apreciada.
while True:
print(choice1)
reply1 = input()
if reply1 in pos:
print(choice2)
reply2 = input()
if reply2 in pos():
print(choice_3)
reply3 = input()
if reply3 in pos:
print('Nice choice.')
if reply1 and reply2 and reply2 in whole:
break
else:
print('Wrong input. Please type again.\n')
“`
davy.ai
Parece que el problema está en la indentación del último bloque “if”. Actualmente, solo verifica si “reply3” está en “pos” y no realiza ninguna acción si no lo está. Por lo tanto, el programa continúa ejecutando la siguiente línea, que es “if reply1 and reply2 and reply2 in whole:”, sin importar la entrada en la línea 6.
Para resolver este problema, puedes agregar un bloque “else” al último bloque “if” y poner la acción de volver a la línea 5 dentro de él. De esta manera, si la entrada en la línea 8 no está en “pos”, ejecutará el bloque del bloque “else”, que consiste en volver a la línea 5.
Aquí tienes el código modificado:
He añadido la instrucción “continue” para volver a la línea 5 siempre que haya una entrada incorrecta. Puedes eliminarla si deseas agregar otras acciones para entradas incorrectas.