Estruturas de repetição em linguagem de programação são muito utilizadas quando se deseja executar repetidas vezes trechos de código. Com isso, não é necessário que determinado trecho de código seja escrito quantas vezes forem necessárias, e sim escrito somente uma vez e executados várias vezes.
A SoftEducation é uma empresa que desenvolve softwares para soluções escolares. Imagine que você seja o desenvolvedor do módulo de cálculo notas, que, ao final, exibe a média das notas de um aluno.
Faça um código em Python que leia o nome do aluno, leia uma quantidade indefinida de notas digitadas pelo professor e, ao final, faça o cálculo da média e imprima o nome do aluno e sua média correspondente. Neste Desafio, serão utilizados os conceitos de laço de repetição, contadores, acumuladores e interrupção.
Soluções para a tarefa
Resposta:
contador = 0
acumulador = 0
aluno = input("Digite o nome do aluno: ")
while(True):
try:
contador += 1
notas = input(f"Digite a nota {contador} do aluno {aluno}: ")
acumulador += int(notas)
print(f"A média do aluno {aluno} é {acumulador/contador:.2f} \n")
except: break
Explicação:
1) Começamos definindo o contador e acumulador como 0:
contador = 0
acumulador = 0
2) Em seguida solicitamos ao usuário o nome do aluno:
aluno = input("Digite o nome do aluno: ")
3) Criamos um loop com while que nunca se encerra e utilizamos o comando try para tentar executar o código que está por vir e no caso de existir um except, iremos usar a interrupção break confrome pedido no enunciado:
while(True):
try:
{código que será executado...}
except: break
4) No escopo do try começamos incrementando valor ao nosso contador, era 0 e passa a se tornar 1. Em seguida solicitamos ao usuário a nota 1 do aluno que, ao ser digitado e confirmado, é somado ao acumulador. Para finalizar, imprimimos o resultado final para o usuário:
while(True):
try:
contador += 1
notas = input(f"Digite a nota {contador} do aluno {aluno}: ")
acumulador += int(notas)
print(f"A média do aluno {aluno} é {acumulador/contador:.2f} \n")
except: break
OBSERVAÇÃO:
O código somente é interrompido se ocorrer uma exceção e uma forma fácil de executar isso é informando um valor diferente do tipo inteiro para a variável notas, neste caso, informe um caracter ou mesmo aperte o enter sem incluir nenhum valor.
Em caso de não interrupção, o código do escopo try será executado infinitamente e nunca terá fim.
Resposta:
Explicação:
A fórmula para calcular a média de notas dá-se por:
Média = nota1+nota2+nota3+notan/quantidadeDeNotas
Clique no botão a seguir e veja o código do cálculo de média:
# -*- coding: utf-8 -*-
# Fórmula de média de nota = n1+n2+n3+n4/qtdNotas
soma = 0 #variável que irá armazenar o acumulo das notas
contador = 0 # variável que irá armazenar a quantidade de notas inseridas para auxiliar no calculo de média
aluno = input("Digite o nome do aluno: ") #variável que irá armazenar o nome do aluno
while True: #looping infinito para o professor digitar quantas notas existirem
entrada = input("Digite a nota do aluno ou S para sair: ") #variável que irá receber a nota
if entrada == 's': #verifica se o valor digitado for s
break # se o valor digitado for s, o laço de repetição é interrompido
nota = int(entrada) #converte o valor digitado para inteiro
soma = soma + nota #acumulador de notas
contador = contador + 1 #contador de notas inseridas
if contador != 0:
media = soma / contador #calculo de média
print("O aluno ", aluno, "possui a nota: ",media) #impressão do resultado final