Problema con "if" (&&) [SOLUCINADO]

Hola, cuando deberia de ser empate, en vez de avisar “Empate!”, avisa “Gano el jugador numero 1”, y no entiendo porque :confused:, si conocen alguna manera que no sea usando:

if self.nave1.vida==1:
    if self.nave2.vida==1:

y que sea algo como:

if self.nave1.vida==1 && self.nave2.vida==1::

me ayudarian bastante!

Aqui les dejo el codigo completo:

if self.nave1.vida==1:
    if self.nave2.vida==1:
        pilas.avisar("Empate!")
if self.nave2.vida==1:
    pilas.avisar("Gano el jugador numero 1")
if self.nave1.vida==1:
    pilas.avisar("Gano el jugador numero 2")

Saludos!

Buenas, @Pan !

A veces vale la pena buscar recursos externos, sobre todo cuando se tiene dudas con el mismo Python, que es el lenguaje en el que se basa Pilas-Engine.

En Python que yo sepa no se usa ni & ni && como operador lógico “AND” (como sí sucede en PHP o JavaScript, por ejemplo).

En este enlace tienes el uso de los "if… elif… else…, y de “and” y “or”:

Por tanto tu código podrá ser algo parecido a esto (CÓDIGO DE EJEMPLO,SIN TESTAR):

if self.nave1.vida==1 and self.nave2.vida==1:
    pilas.avisar("Empate!")
elif self.nave2.vida==1:
    pilas.avisar("Gano el jugador numero 1")
elif self.nave1.vida==1:
    pilas.avisar("Gano el jugador numero 2")
else:
    pass

Un saludo! :wink:

1 Like

Gracias, me sirvio :smiley: