Python - Error de sintaxis else en un bucle while

 
Vista:
Imágen de perfil de satanda25
Val: 9
Ha disminuido su posición en 7 puestos en Python (en relación al último mes)
Gráfica de Python

Error de sintaxis else en un bucle while

Publicado por satanda25 (4 intervenciones) el 04/03/2020 10:38:09
Hola, estoy estudiando python y un bucle while se me a resentido al incluir un else: Continue. Según lo que estuve leyendo debería funcionar. Si alguno sabe el error le agradecería que me lo explicase. Gracias.


1
2
3
4
5
6
7
8
9
10
11
12
13
while(True):
    producto=str(input('Que producto se esta comprando: '))
    if producto == "leche":
        coste=0.8;
    elif producto == "colacao":
        coste=6.8;
    elif producto == "galletas":
        coste=1;
    elif producto == 'fin':
        break
    else:
        continue
    print('ok')
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 6
Ha disminuido su posición en 20 puestos en Python (en relación al último mes)
Gráfica de Python

Error de sintaxis else en un bucle while

Publicado por Jose (3 intervenciones) el 04/03/2020 11:58:46
Estas en un bucle while, mientras se cumpla que el argumento sea verdadero continuara en el bucle, una vez que no se cumpla el argumento es cuando saldrá del bucle, prueba con pass, break o exit() o mira a ver si lo puedes hacer con otro tipo de bucle. No se si estará bien la respuesta ya que yo también estoy aprendiendo y no llevo mucho programando en Python, pero intento ayudar.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de satanda25
Val: 9
Ha disminuido su posición en 7 puestos en Python (en relación al último mes)
Gráfica de Python

Error de sintaxis else en un bucle while

Publicado por satanda25 (4 intervenciones) el 04/03/2020 12:59:47
El problema que tengo, es que aunque cumpla la función if se sigue ejecutando el else, pero este error solo me sale en un bucle while.
De ahí el <print('ok')>, porque nunca se ejecuta, se activa el continue y nunca dice ok.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 765
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Error de sintaxis else en un bucle while

Publicado por dario (185 intervenciones) el 04/03/2020 14:17:46
Aqui el bucle while se ejecuta mientras sea verdadero (True); si el producto que estas comprando es "fin" entonces se ejecuta el break sale del bucle while y no imprime nada.

Ahora si tecleas cualquier producto (leche, colacao, galletas), se ejecutan sus if-elif correspondientes, imprime Ok y regresa al bucle while porque aun es True.

Si tecleas cualquier otra cosa tambien regresas al bucle while porque despues del else tienes una sentencia continue.

Espero te ayude.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar