- Precisamos ler a nota ao final do semestre exibir o resultado, ‘APROVADO’ caso a média seja maior ou igual a 60, ‘PROVA FINAL’ caso seja maior ou igual a 40 e menor que 60 e ‘REPROVADO’ caso seja menor que 40.
notaFinal = float(input('Nota final: '))
if notaFinal >= 60:
print('Aprovado!')
elif notaFinal >= 40:
print('Prova Final')
else:
print('Reprovado!')
notaFinal = float(input('Nota final: '))
if notaFinal >= 60:
print('Aprovado!')
elif notaFinal >= 40:
print('Prova Final')
else:
print('Reprovado!')Passo 1
O enunciado pede que, dado o valor da nota final, a saída deve ser exatamente uma destas três etiquetas:
- ‘APROVADO’ quando a nota for maior ou igual a
. - ‘PROVA FINAL’ quando a nota for maior ou igual a
e menor que . - ‘REPROVADO’ quando a nota for menor que
.
Informações dadas:
- Existe um programa em Python que lê uma nota com
inpute converte parafloat. - O programa atual usa as estruturas
if,elif,elsepara escolher a saída. - O enunciado exige que as strings exibidas sejam precisamente as mostradas acima (mesmo uso de maiúsculas e espaços).
Passo 2
O que devemos checar no código fornecido:
- A lógica condicional (ordem dos testes) está correta: primeiro checar se é
, depois se é e, por fim, caso contrário. - O erro aqui não é na lógica numérica, é nas strings de saída. O enunciado exige
'APROVADO','PROVA FINAL'e'REPROVADO'(todas em maiúsculas, sem sinais de exclamação). No código atual aparecem variações:'Aprovado!','Prova Final','Reprovado!'. Essas diferenças impedem o programa de seguir à risca o que o enunciado pediu. - Conclusão: basta ajustar as mensagens exibidas para corresponderem exatamente às solicitadas.
Passo 3
Pequena aula sobre como o
if funciona aqui (passo a passo mental):- Quando você escreve
if <condição>:o Python avalia a condição. Se for verdadeira, executa o bloco indentado abaixo e pula o resto doselif/else. - Por isso é importante começar pelo teste mais “alto” (
) para evitar que um caso que deveria ser APROVADOcaia emPROVA FINAL. Exemplo: se a nota for, o teste nota >= 40também é verdade, então se você colocasse esse teste antes iria dar a saída errada. Ordenando comoif nota >= 60: elif nota >= 40: else:garantimos que cada faixa seja tratada corretamente.
Passo 4
Sobre leitura e tipo de dado:
input(...)retorna uma string (texto). Para comparar numericamente precisamos converter para número; usarfloat(...)permite notas com casas decimais, por exemplo. - No código isso é feito por
notaFinal = float(input('Nota final: ')). Aquié a variável que guarda o número lido. - Atenção a casos inválidos (texto não numérico): o código atual assume que o usuário digita um número válido. Em prova geralmente isso é aceitável; tratar erros (com
try/except) é bom, mas pode não ser pedido.
Passo 5
Ajuste necessário: trocar as mensagens para as etiquetas exatas pedidas:
- quando
imprima 'APROVADO' - quando
e < imprima 'PROVA FINAL' - caso contrário imprima
'REPROVADO'
Vou mostrar como fica o programa corrigido e em seguida explico linha a linha.
Passo 6
Explicação linha a linha do código corrigido:
notaFinal = float(input('Nota final: '))— pede ao usuário a nota e converte para número de ponto flutuante; guardamos em. if notaFinal >= 60:— verifica seé maior ou igual a . Se for, executa o print('APROVADO').elif notaFinal >= 40:— executado somente se oifanterior foi falso; aqui verificamos seé maior ou igual a (e, implicitamente, menor que porque o ifanterior falhou). Se verdadeiro, executaprint('PROVA FINAL').else:— executado se nenhum dos dois testes anteriores foi verdadeiro; então restam as notas menores quee imprimimos print('REPROVADO').
Passo 7
Testes mentais (exemplos) para fixar:
- Se o usuário digitar
(isto é, 75.0), o programa executa oife mostraAPROVADO. - Se digitar
(isto é, 55.0), oifé falso,elifé verdadeiro →PROVA FINAL. - Se digitar
(isto é, 30.0), ambosifeelifsão falsos →REPROVADO. - Nos casos limítrofes: exatamente
→ APROVADO; exatamente→ PROVA FINAL. Isso porque usamos o operador “maior ou igual” (>=).
Passo 8
Fica aqui uma observação motivacional: tá tudo certo com a lógica — o que faltava era só alinhar as mensagens com o que o enunciado exigiu. Você já tem o raciocínio completo pra aplicar isso rapidamente na prova. Vai firme!
Resposta
notaFinal = float(input('Nota final: '))
if notaFinal >= 60:
print(‘APROVADO’)
elif notaFinal >= 40:
print(‘PROVA FINAL’)
else:
print(‘REPROVADO’)
if notaFinal >= 60:
print(‘APROVADO’)
elif notaFinal >= 40:
print(‘PROVA FINAL’)
else:
print(‘REPROVADO’)