I have a problem with "if" (Python3)

Asked

Viewed 48 times

-1

Well, I was doing a Statistics program (don’t notice the way I wrote I’m new to programming and I was trying to do it using everything I learned from just an introductory course with little information). It’s about football, but in case you understand about football it won’t be hard to understand the code, and this statistics program serves to define the percentage of goals Amb (both scored), the percentage of who scored more than 1, 2 and 3, and what is the % victory of the teams A and B. And to define this %, the program uses a mechanic that every time the "if" is true, it adds 20 to the corresponding variable the percentage of the filter, then it takes the total and divides by 3.( 15 . 20 = 300 || 300 / 3 = 100% ). Pseudo code:

print "1°Jogo Time A - insira o valor do time da casa:"

print "1°Jogo Time B - insira o valor do time de fora:"

[...]

// São mais de 28 desses.

Caso "A1" for >= 1
    Adicione 20 à MA1 (MA1 é a variável correspondente ao total de vezes que tiver 1 ou mais gols.)

Then I made a simple filter to define whether the two teams scored goals.

if A1 & A2 != 0: 
   AMB1A = AMB1 + 20

Then I did it to filter out how many goals they scored.

// +0,5 (More than one).

if A1 >= 1:
    a1MA1 = A1 + 20

// +1,5 (More than two).

if A1 >= 2:
    a2MA1 = A1 + 20

// +2,5 (More than Three).

if A1 >= 3:
    a3MA1 = A1 + 20

But going straight to the point, I use the "Eclipse" and kind of the "if" isn’t ignoring the numbers that aren’t "true", it just says it’s not set, it’s just not filtering, depending on the value it always says a different variable, here my 350-line Megazord:

# encoding: utf-8
# encoding: iso-8859-1
# encoding: win-1252

from test.test_tools.test_unparse import elif1
# Entradas

# Time A
print("TIME A")
A1 = int(input("1� jogo - Insira a quantidade de gols do time de casa: "))
A2 = int(input("1� jogo - Insira a quantidade de gols do time de fora: "))
B1 = int(input("2� jogo - Insira a quantidade de gols do time de casa: "))
B2 = int(input("2� jogo - Insira a quantidade de gols do time de fora: "))
C1 = int(input("3� jogo - Insira a quantidade de gols do time de casa: "))
C2 = int(input("3� jogo - Insira a quantidade de gols do time de fora: "))
D1 = int(input("4� jogo - Insira a quantidade de gols do time de casa: "))
D2 = int(input("4� jogo - Insira a quantidade de gols do time de fora: "))
E1 = int(input("5� jogo - Insira a quantidade de gols do time de casa: "))
E2 = int(input("5� jogo - Insira a quantidade de gols do time de fora: "))

# Time B
print("TIME B")
F1 = int(input("1� jogo - Insira a quantidade de gols do time de casa: "))
F2 = int(input("1� jogo - Insira a quantidade de gols do time de fora: "))
G1 = int(input("2� jogo - Insira a quantidade de gols do time de casa: "))
G2 = int(input("2� jogo - Insira a quantidade de gols do time de fora: "))
H1 = int(input("3� jogo - Insira a quantidade de gols do time de casa: "))
H2 = int(input("3� jogo - Insira a quantidade de gols do time de fora: "))
I1 = int(input("4� jogo - Insira a quantidade de gols do time de casa: "))
I2 = int(input("4� jogo - Insira a quantidade de gols do time de fora: "))
J1 = int(input("5� jogo - Insira a quantidade de gols do time de casa: "))
J2 = int(input("5� jogo - Insira a quantidade de gols do time de fora: "))

# Confronto
print("Confronto")
K1 = int(input("1� jogo - Insira a quantidade de gols do time de casa: "))
K2 = int(input("1� jogo - Insira a quantidade de gols do time de fora: "))
L1 = int(input("2� jogo - Insira a quantidade de gols do time de casa: "))
L2 = int(input("2� jogo - Insira a quantidade de gols do time de fora: "))
M1 = int(input("3� jogo - Insira a quantidade de gols do time de casa: "))
M2 = int(input("3� jogo - Insira a quantidade de gols do time de fora: "))
N1 = int(input("4� jogo - Insira a quantidade de gols do time de casa: "))
N2 = int(input("4� jogo - Insira a quantidade de gols do time de fora: "))
O1 = int(input("5� jogo - Insira a quantidade de gols do time de casa: "))
O2 = int(input("5� jogo - Insira a quantidade de gols do time de fora: "))

#variaveis

AMB1 = 0
AMB2 = 0
AMB3 = 0
AMB4 = 0
AMB5 = 0
AMB6 = 0
AMB7 = 0
AMB8 = 0
AMB9 = 0
AMB10 = 0
AMB11 = 0
AMB12 = 0
AMB13 = 0
AMB14 = 0
AMB15 = 0

AMB1A = 0
AMB2A = 0
AMB3A = 0
AMB4A = 0
AMB5A = 0
AMB6A = 0
AMB7A = 0
AMB8A = 0
AMB9A = 0
AMB10A = 0
AMB11A = 0
AMB12A = 0
AMB13A = 0
AMB14A = 0
AMB15A = 0
MA1 = 0
MA2 = 0
MB1 = 0
MB2 = 0
MC1 = 0
MC2 = 0
MD1 = 0
MD2 = 0
ME1 = 0
ME2 = 0
MF1 = 0
MF2 = 0
MG1 = 0
MG2 = 0
MH1 = 0
MH2 = 0
MI1 = 0
MI2 = 0
MJ1 = 0
MJ2 = 0
MK1 = 0
MK2 = 0
ML1 = 0
ML2 = 0
MM1 = 0
MM2 = 0
MN1 = 0
MN2 = 0
MO1 = 0
MO2 = 0

# Definições

if A1 & A2 != 0: 
    AMB1A = AMB1 + 20
if B1 & B2 != 0: 
    AMB2A = AMB2 + 20
if C1 & C2 != 0:
    AMB3A = AMB3 + 20 
if D1 & D2 != 0:
    AMB4A = AMB4 + 20 
if E1 & E2 != 0:
    AMB5A = AMB5 + 20 
if F1 & F2 != 0:
    AMB6A = AMB6 + 20 
if G1 & G2 != 0:
    AMB7A = AMB7 + 20 
if H1 & H2 != 0:
    AMB8A = AMB8 + 20 
if I1 & I2 != 0:
    AMB9A = AMB9 + 20 
if J1 & J2 != 0:
    AMB10A = AMB10 + 20
if K1 & K2 != 0:
    AMB11A = AMB11 + 20
if L1 & L2 != 0:
    AMB12A = AMB12 + 20
if M1 & M2 != 0:
    AMB13A = AMB13 + 20
if N1 & N2 != 0:
    AMB14A = AMB14 + 20
if O1 & O2 != 0:
    AMB15A = AMB15 + 20
   
MAMB = AMB1A + AMB2A + AMB3A + AMB4A + AMB5A + AMB6A + AMB7A + AMB8A + AMB9A + AMB10A + AMB11A + AMB12A + AMB13A + AMB14A + AMB15A /3
 
# 1

if A1 >= 1:
    a1MA1 = A1 + 20
if B1 >= 1:
    a1MB1 = B1 + 20
if C1 >= 1:
    a1MC1 = C1 + 20
if D1 >= 1:
    a1MD1 = D1 + 20    
if E1 >= 1:
    a1ME1 = E1 + 20
if F1 >= 1:
    a1MF1 = F1 + 20 
if G1 >= 1:
    a1MG1 = G1 + 20
if H1 >= 1:
    a1MH1 = H1 + 20
if I1 >= 1:
    a1MI1 = I1 + 20
if J1 >= 1:
    a1MJ1 = J1 + 20    
if K1 >= 1:
    a1MK1 = K1 + 20
if L1 >= 1:
    a1ML1 = L1 + 20
if M1 >= 1:
    a1MM1 = M1 + 20
if N1 >= 1:
    a1MN1 = N1 + 20
if O1 >= 1:
    a1MO1 = O1 + 20
    
# -------------------------------------------

if A2 >= 1:  
    a1MA2 = A2 + 20
if B2 >= 1:
    a1MB2 = B2 + 20
if C2 >= 1:
    a1MC2 = C2 + 20
if D2 >= 1:
    a1MD2 = D2 + 20    
if E2 >= 1:
    a1ME2 = E2 + 20
if F2 >= 1:
    a1MF2 = F2 + 20 
if G2 >= 1:
    a1MG2 = G2 + 20
if H2 >= 1:
    a1MH2 = H2 + 20
if I2 >= 1:
    a1MI2 = I2 + 20
if J2 >= 1:
    a1MJ2 = J2 + 20    
if K2 >= 1:
    a1MK2 = K2 + 20
if L2 >= 1:
    a1ML2 = L2 + 20
if M2 >= 1:
    a1MM2 = M2 + 20
if N2 >= 1:
    a1MN2 = N2 + 20
if O2 >= 1:
    a1MO2 = O2 + 20
  
# 2  -- -- -- -- -- -- -- -- -- 

if A1 >= 2:
    a2MA1 = A1 + 20
if B1 >= 2:
    a2MB1 = B1 + 20
if C1 >= 2:
    a2MC1 = C1 + 20
if D1 >= 2:
    a2MD1 = D1 + 20    
if E1 >= 2:
    a2ME1 = E1 + 20
if F1 >= 2:
    a2MF1 = F1 + 20 
if G1 >= 2:
    a2MG1 = G1 + 20
if H1 >= 2:
    a2MH1 = H1 + 20
if I1 >= 2:
    a2MI1 = I1 + 20
if J1 >= 2:
    a2MJ1 = J1 + 20    
if K1 >= 2:
    a2MK1 = K1 + 20
if L1 >= 2:
    a2ML1 = L1 + 20
if M1 >= 2:
    a2MM1 = M1 + 20
if N1 >= 2:
    a2MN1 = N1 + 20
if O1 >= 2:
    a2MO1 = O1 + 20   
    
# -------------------------------------------

if A2 >= 2:
    a2MA2 = A2 + 20
if B2>= 2:
    a2MB2= B2* + 20
if C2 >= 2:
    a2MC2 = C1 + 20
if D2 >= 2:
    a2MD2 = D2 + 20    
if E2 >= 2:
    a2ME2 = E2 + 20
if F2 >= 2:
    a2MF2 = F2 + 20 
if G2 >= 2:
    a2MG2 = G2 + 20
if H2 >= 2:
    a2MH2 = H2 + 20
if I2 >= 2:
    a2MI2 = I2 + 20
if J2 >= 2:
    a2MJ2 = J2 + 20    
if K2 >= 2:
    a2MK2 = K2 + 20
if L2 >= 2:
    a2ML2 = L2 + 20
if M2 >= 2:
    a2MM2 = M2 + 20
if N2 >= 2:
    a2MN2 = N2 + 20
if O2 >= 2:
    a2MO2 = O2 + 20 

# 3
 
if A1 >= 3:
    a3MA1 = A1 + 20
if B1 >= 3:
    a3MB1 = B1 + 20
if C1 >= 3:
    a3MC1 = C1 + 20
if D1 >= 3:
    a3MD1 = D1 + 20    
if E1 >= 3:
    a3ME1 = E1 + 20
if F1 >= 3:
    a3MF1 = F1 + 20
if G1 >= 3:
    a3MG1 = G1 + 20

if H1 >= 3:
    a3MH1 = H1 + 20
if I1 >= 3:
    a3MI1 = I1 + 20
if J1 >= 3:
    a3MJ1 = J1 + 20    
if K1 >= 3:
    a3MK1 = K1 + 20
if L1 >= 3:
    a3ML1 = L1 + 20
if M1 >= 3:
    a3MM1 = M1 + 20
if N1 >= 3:
    a3MN1 = N1 + 20
if O1 >= 3:
    a3MO1 = O1 + 20
    
# -------------------------------------------

if A2 >= 3:
    a3MA2 = A2 + 20
if B2 >= 3:
    a3MB2 = B2 + 20
if C2 >= 3:
    a3MC2 = C2 + 20
if D2 >= 3:
    a3MD2 = D2 + 20    
if E2 >= 3:
    a3ME2 = E2 + 20
if F2 >= 3:
    a3MF2 = F2 + 20
if G2 >= 3:
    a3MG2 = G2 + 20
if H2 >= 3:
    a3MH2 = H2 + 20
if I2 >= 3:
    a3MI2 = I2 + 20
if J2 >= 3:
    a3MJ2 = J2 + 20    
if K2 >= 3:
    a3MK2 = K2 + 20
if L2 >= 3:
    a3ML2 = L2 + 20
if M2 >= 3:
    a3MM2 = M2 + 20
if N2 >= 3:
    a3MN2 = N2 + 20
if O2 >= 3:
    a3MO2 = O2 + 20
    
MQ0 = a1MA1 + a1MA2 + a1MB1 + a1MB2 + a1MC1 + a1MC2 + a1MD1 + a1MD2 + a1ME1 + a1ME2 + a1MF1 + a1MF2 + a1MG1 + a1MG2 + a1MH1 + a1MH2 + a1MI1 + a1MI2 + a1MJ1 + a1MJ2 + a1MK1 + a1MK2 + a1ML1 + a1ML2 + a1MM1 + a1MM2 + a1MN1 + a1MN2 + a1MO1 + a1MO2 /3 
MQ1 = a2MA1 + a2MA2 + a2MB1 + a2MB2 + a2MC1 + a2MC2 + a2MD1 + a2MD2 + a2ME1 + a2ME2 + a2MF1 + a2MF2 + a2MG1 + a2MG2 + a2MH1 + a2MH2 + a2MI1 + a2MI2 + a2MJ1 + a2MJ2 + a2MK1 + a2MK2 + a2ML1 + a2ML2 + a2MM1 + a2MM2 + a2MN1 + a2MN2 + a2MO1 + a2MO2 /3 
MQ2 = a3MA1 + a3MA2 + a3MB1 + a3MB2 + a3MC1 + a3MC2 + a3MD1 + a3MD2 + a3ME1 + a3ME2 + a3MF1 + a3MF2 + a3MG1 + a3MG2 + a3MH1 + a3MH2 + a3MI1 + a3MI2 + a3MJ1 + a3MJ2 + a3MK1 + a3MK2 + a3ML1 + a3ML2 + a3MM1 + a3MM2 + a3MN1 + a3MN2 + a3MO1 + a3MO2 /3 
   
    
print("Estatísticas...")
print('Média do Jogo 1: AMB {0}% || +0,5 {1}% || +1,5 {2}% || +2,5 {3}% '.format(MAMB, MQ0, MQ1, MQ2))
  • if A1 & A2 != 0 this does not check whether A1 and A2 are different from zero. This applies the operation "and binary" (bitwise and) and checks that the return on that operation is different from zero.

  • You have no exception criteria in your if, recommend taking a look at this link to better understand how to structure the if/elif/else. Python If / Elif

  • That means that if A1 for 1, which in binary would be 0b00001, while A2 for 2, which in binary would be 0b0010, the value of A1 & A2 would be 0.

No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.