El código está ejecutando ambas declaraciones si ingreso un número mayor o menor que 50 pero funciona bien con el número exacto 50.

Cuando elimino la declaración

if int(var2)==var1:
    print("equal")

Entonces el programa está funcionando bien.

AQUÍ ESTÁ EL CÓDIGO

var1 = 50
var2 = input("choose a number = ")

if int(var2)>var1:
    print("greater")

if int(var2)==var1:
    print("equal")
else:
    print("lesser")
1
Hassan Baig 2 oct. 2019 a las 18:35

5 respuestas

La mejor respuesta

Todo lo que necesita hacer es cambiar la segunda declaración if a una declaración elif (elif significa else if). En su código, lo que sucede es que la primera instrucción se considera como una sección if y la segunda sección if - else se verifica nuevamente. Entonces, en cierto modo, hay dos secciones if / if - else. Por lo tanto, las 2 salidas. Al cambiar el segundo if a elif, reducirá las dos secciones if / if - else a solo una y solo habrá una salida. Prueba este código:

var1 = 50
var2 = input("choose a number = ")
if int(var2)>var1:
    print("greater")
elif int(var2)==var1:
    print("equal")
else:
    print("lesser")
0
Dave G 4 oct. 2019 a las 12:18

Debe cambiar el segundo if a elif:

var1 = 50
var2 = input("choose a number = ")

if int(var2)>var1:
    print("greater")

elif int(var2)==var1:
    print("equal")
else:
    print("lesser")
4
Solomon Ucko 2 oct. 2019 a las 15:38

Cuando agrega un if, verifica todas las condiciones hasta que salga de él y continúe con su código o tenga otro.
Entonces, significa cuando verifica el primero si verifica el segundo si lo hace.
Entonces use elif para el segundo if.

2
Mohammad Armin Niknami 2 oct. 2019 a las 15:43

Pruebe lo siguiente

var1 = 50
var2 = input("choose a number = ")

if int(var2)>var1:
  print("greater")
elif int(var2)==var1:
  print("equal")
else:
  print("lesser")

De esta manera no tienes dos bloques if separados.

1
Dave G 2 oct. 2019 a las 15:41

Su instrucción print("lesser") se ejecutará si int (var2)! = Var1, así que también si int (var2)> var1

0
jpaul 2 oct. 2019 a las 15:42
58204793