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')

6 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