Problem using if Elif Else (Else error)

Asked

Viewed 1,472 times

-1

n = input ("informe seu nome ")
b1 = float(input("informe sua nota em Biologia no 1º Bimestre "))
b2 = float(input("informe sua nota em Biologia no 2º Bimestre "))
b3 = float(input("informe sua nota em Biologia no 3º Bimestre "))
b4 = float(input("informe sua nota em Biologia no 4º Bimestre "))
media = (b1 + b2 + b3 + b4) / 4
if media >= 6:
   print (n,", sua média em Biologia é,",media,"você foi aprovado")
elif media <= 5.9 and media >= 4: 
   print (n,",sua média em Biologia é,",media,"você esta de recuperação")
else media < 3.9: # Não tô entendendo este erro
print (n,", sua média em Biologia foi",media,"Você esta reprovado")

3 answers

2


No condition is used in else because the else becomes valid when the other conditions are not true.

See below:

if media >= 6:
    print ("{nome} sua média em Biologia é {media} você foi aprovado".format(nome=n, media=media))
elif media <= 5.9 and media >= 4: 
    print ("{nome} sua média em Biologia é {media}, você esta de recuperação".format(nome=n, media=media))
else: # Não se utiliza condição no else.
    print ("{nome} sua média em Biologia foi {media}. Você esta reprovado".format(nome=n, media=media))

See more about using conditional commands in python here.

You can also use the format to format the display of your strings, see more here in this reply about concatenation of strings in python.

2

"Else" does not receive parameters, it is a condition applicable only when others fail, so:

else media < 3.9: # Não tô entendendo este erro

Should pass to:

elif media < 3.9: # Não tô entendendo este erro

However in the end it is good practice to put an "Else", even if it does nothing, in this way:

elif media < 3.9:
    print (n,", sua média em Biologia foi",media,"Você esta reprovado")
else:
    pass

0

Well, I believe the mistake is in the way you’re using Else, look what we’re doing!

  • If you were 6 : do it;
  • If it is not greater than 6 and greater than 4 : do this;
  • If not less than 3 : .... (here even for reading got bad);

Else without if cannot test more conditions! Add another Elif there:

if media >= 6:
   print (n,", sua média em Biologia é,",media,"você foi aprovado")
elif media <= 5.9 and media >= 4: 
   print (n,",sua média em Biologia é,",media,"você esta de recuperação")
elif media < 3.9:
   print (n,", sua média em Biologia foi",media,"Você esta reprovado")

Here if you want to use Else for another print

if media >= 6:
   print (n,", sua média em Biologia é,",media,"você foi aprovado")
elif media <= 5.9 and media >= 4: 
   print (n,",sua média em Biologia é,",media,"você esta de recuperação")
elif media < 3.9 and >= 0:
   print (n,", sua média em Biologia foi",media,"Você esta reprovado")
else: #Observe que o else aqui não vai testar condições!
   print (n,"......")

Browser other questions tagged

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