3
I need to find the fewer number and the second to smallest number of five typed numbers.
But this strange fact is happening:
#Subtrair o menor numero encontrado do numero digitado
dif1 = n1 - menor
dif2 = n2 - menor
dif3 = n3 - menor
dif4 = n4 - menor
dif5 = n5 - menor
#O menor resultado diferente de zero é o segundo menor numero
print(dif1, dif2, dif3, dif4, dif5)
#O erro se encontra aqui!
if (dif1>0) & (dif1<dif2) & (dif1<dif3) & (dif1<dif4) & (dif1<dif5):
print("n1 é o segundo menor numero")
if (dif2>0) & ((dif2<dif1) & (dif2<dif3) & (dif2<dif4) & (dif2<dif5)):
print("n2 é o segundo menor numero")
if (dif3>0) & ((dif3<dif2) & (dif3<dif1) & (dif3<dif4) & (dif3<dif5)):
print("n3 é o segundo menor numero")
if (dif4>0) & ((dif4<dif2) & (dif4<dif3) & (dif4<dif1) & (dif4<dif5)):
print("n4 é o segundo menor numero")
if (dif5>0) & ((dif5<dif2) & (dif5<dif3) & (dif5<dif4) & (dif5<dif1)):
print("n5 é o segundo menor numero")
print(menor)
If I declare only
if (dif1>0):
...
.
The print message is executed on the screen. In the same way if I declare:
if (dif1<dif2) & (dif1<dif3) & (dif1<dif4) & (dif1<dif5):
..
.
But if I declare the sentence complete:
if (dif1>0) & (dif1<dif2) & (dif1<dif3) & (dif1<dif4) & (dif1<dif5):
..
.
The print message does not appear at all!
I also tried with if(dif1!=0)
and other combination of relatives and nothing. And anyway in the terminal shows no error.
Would anyone know why?
PS.: It seems to me that this case also happens in other languages.
Do you need to do manual like this? Because if you ordered the numbers and took only the first two you would have the two smaller ones.
– Woss