Enviar um café pro programador

Exercício usando ELIF em Python - Conversão de notas A, B, C, D e F

Agora que já aprendemos a instrução ELIF do Python, vamos usá-la para resolver um problema bem interessante.

Sabe aquelas notas dos filmes americanos, A, B, C ?
Um aluno tipo Stiffler tirando F e sendo reprovado?

Vamos aprender a fazer essa conversão, desse sistema para o nosso.


Exercício de ELIF em Python

Crie um programa em Python que peça a nota do aluno, que deve ser um float entre 0.00 e 10.0

Se a nota for menor que 6.0, deve exibir a nota F.
Se a nota for de 6.0 até 7.0, deve exibir a nota D.
Se a nota for entre 7.0 e 8.0, deve exibir a nota C.
Se a nota for entre 8.0 e 9.0, deve exibir a nota B.

Por fim, se for entre 9.0 e 10.0, deve exibir um belo de um A.




Código comentado usando ELIF

Inicialmente, usamos a função float() no input, para pegar o número decimal.
Devemos lembrar em computação não usamos vírgula, e sim ponto.

No Brasil, usamos 1,99
Em computação, deveríamos escrever 1.99
Use o ponto!

Após pegar a nota do usuário, vamos aos testes.
Se essa nota for menor que 6.0, mandamos um F, sem choro nem vela.
Acaba aí o programa.

Caso não seja, cai dentro de um ELIF, onde vamos fazer mais testes.
Se for menor que 7.0, significa que é menor que 7.0 e maior que 6.0, logo, exibimos um D.

Se não a nota não for menor que 7.0, vamos para mais um ELIF.
Se for menor que 8.0, então vai ser menor que 8.0 e maior que 7.0, logo é uma nota C que iremos exibir.

Se a nota não for menor que 8.0, vai dentro do último ELIF.
Então, é menor que 9.0 e maior que 8.0, por tanto é uma nota B.

Então, só a resta a nota ser maior que 9.0
Nesse caso, cai no ELSE e então exibimos a nota A !

Veja nosso código:

resposta=float(input('Qual a nota [0.0 - 10.0]: '))

if resposta < 6.0:
    print('Nota F')
elif resposta < 7.0:
    print('Nota D')
elif resposta < 8.0:
    print('Nota C')
elif resposta < 9.0:
    print('Nota B')
else:
    print('Nota A')

16 comentários:

  1. nota = float(input('Digite a nota do aluno: '))

    if nota < 6 :
    print('F')
    elif 6 <= nota <= 7:
    print('D')
    elif 7 <= nota <= 8:
    print('C')
    elif 8 <= nota <= 9:
    print('B')
    elif 9 <= nota <= 10:
    print('A')
    else:
    print('Nota inválida')

    #coloquei um "elif" para a nota A, porque se o usuário colocar uma nota maior que 10 ou menor que 0 seria uma nota invalida, entrando na condição IF

    ResponderExcluir
    Respostas
    1. Mas Filipe esse codigo rodou certinho?? Por que pra mim parece que tem uma redundancia.

      Se eu digitar a nota 7.0 por exemplo, ele vai apontar nota D ou C?
      Por que ali dois comandos dão a mesma nota.

      Excluir
    2. Normalmente os if e elif das linguagens de programação, executam o primeiro que for verdadeiro, e ignoram o resto do código.

      No código citado a cima, o resultado de 7 seria D

      Excluir
  2. O meu ficou assim

    # Exercício Notas do aluno
    print("Conversor de Nota Escolar")
    resposta = float(input("Qual a nota do aluno? De 0 até 10: "))
    if resposta < 6.0:
    print("Nota F")
    elif resposta <= 7.0:
    print("Nota D")
    elif resposta <= 8.0:
    print("Nota C")
    elif resposta <= 9.0:
    print("Nota B")
    elif resposta <= 10:
    print("NOTA A!")
    else:
    print("Nota inválida")

    ResponderExcluir
  3. nota = float(input('Digite a nota do Joãozinho '))
    if nota < 6 :
    print ("F")
    elif nota <=7 :
    print ("D")
    elif nota <=8 :
    print ("C")
    elif nota <=9 :
    print ("B")
    elif nota <=10 :
    print ("A")
    else :
    print ('Digite um número entre 0.00 e 10.00 ')


    ResponderExcluir
  4. int('='*5,'NOTAS','='*5)
    nota = float(input('Digite a nota: '))
    if nota >= 0. and nota < 6:
    print('NOTA "F"')
    elif nota >= 6. and nota < 7.:
    print('NOTA "D"')
    elif nota >= 7. and nota < 8.:
    print('NOTA "C"')
    elif nota >= 8. and nota < 9.:
    print('NOTA "B"')
    else:
    print('NOTA SUPER "A"')

    ResponderExcluir
  5. try:
    nota = float( input('Digite sua nota: '))

    if nota < 0:
    print('Sua nota não pode ser menor que 0')
    elif 0 <= nota < 6:
    print('F')
    elif nota < 7:
    print('D')
    elif nota < 8:
    print('C')
    elif nota < 9:
    print('B')
    elif nota <= 10:
    print('A')
    else:
    print('Sua nota não pode ser maior que 10')
    except ValueError:
    print('Nota inválida: Digite um número entre 0 e 10')

    ResponderExcluir
  6. Como eu poderia fazer para que o programa me mostrasse o total de alunos com cada nota no final?

    ResponderExcluir
    Respostas
    1. Vc precisaria fazer um loop contando quantas vezes cada nota aparece e adicionando mais um em uma variável que vc cria, por exemplo:

      quantidade _f = 0
      for i in range(6):
      nota = float(input(f' {i} aluno:'))
      if nota < 0 and nota > 10:
      print('Nota inválida!')
      else:
      if nota < 6:
      quantidade_f = quantiade_f + 1
      print(f'Total de notas f:{quantidade_f} ')

      Excluir
  7. nota = float(input('Digite sua nota: '))

    if nota < 6.0:
    print('F')
    elif 6.0 <= nota <= 7.0:
    print('D')
    elif 7.0 <= nota <= 8.0:
    print('C')
    elif 8.0 <= nota <= 9.0:
    print('B')
    else:
    print('A')

    ResponderExcluir
  8. nota = float (input ('Digite a nota do aluno: '))
    if nota == 0:
    print ('Você é burro que dói!')
    elif nota < 6:
    print ('Nota F')
    elif nota < 7:
    print ('Nota D')
    elif nota < 8:
    print ('Nota C')
    elif nota < 9:
    print ('Nota B')
    elif nota < 10:
    print ('Nota A')
    else:
    print ('Tu é o bichão memu hein brow?')
    input ()

    ResponderExcluir
  9. nota = float(input("Digite a nota do aluno que deseja converter para o estilo americano: "))
    if nota < 0:
    print("Digite apenas notas de 0.0 a 10.0")
    elif nota > 10:
    print("Digite apenas notas de 0.0 a 10.0")
    elif nota < 6:
    print("A nota do aluno é F")
    elif nota < 8:
    print("A nota do aluno é D")
    elif nota < 9:
    print("A nota do aluno é C")
    elif nota < 10:
    print("A nota do aluno é B")
    elif nota >= 10:
    print("A nota do aluno é A")

    ResponderExcluir
  10. nota = float(input("Digite a nota do aluno que deseja converter para o estilo americano: "))
    if nota < 0:
    print("Digite apenas notas de 0.0 a 10.0")
    elif nota > 10:
    print("Digite apenas notas de 0.0 a 10.0")
    elif nota < 6:
    print("A nota do aluno é F")
    elif nota < 8:
    print("A nota do aluno é D")
    elif nota < 9:
    print("A nota do aluno é C")
    elif nota < 10:
    print("A nota do aluno é B")
    elif nota >= 10:
    print("A nota do aluno é A")

    ResponderExcluir
  11. print(f"{' Exercício ':=^65}")
    nota = float(input('Digite a nota do aluno: '))
    if 0.00 <= nota <= 10.0:
    if nota < 6.0:
    print('Nota F.')
    elif nota < 7.0:
    print('Nota D.')
    elif nota < 8.0:
    print('Nota C.')
    elif nota < 9.0:
    print('Nota B.')
    else:
    print('Nota A.')
    else:
    print('Nota Inválida.')

    ResponderExcluir
  12. nota = float(input('Informe a sua nota: '))

    if nota <6:
    print ('F')
    elif nota <7:
    print ('D')
    elif nota <8:
    print ('C')
    elif nota <9:
    print ('B')
    else:
    print ('A')

    print ('Fim')

    ResponderExcluir
  13. nota=float(input("Digite sua nota de 0.0 a 10.0:"))
    if nota<=10.0 and nota>9.0:
    print("Parabéns, você tirou 'A'!")
    elif nota<=9.0 and nota>8.0:
    print("Parabéns, você tirou 'B'!")
    elif nota<=8.0 and nota>7.0:
    print("Podia ser melhor... você tirou 'C'!")
    elif nota<=7 and nota>6:
    print("Fraquinho...você tirou 'D'!")
    elif nota<=6 and nota>0.0:
    print("Você estudar!!! você tirou 'F'!")
    else:
    print("nota fora do intervalo")

    ResponderExcluir