Boa noite pessoal, estou com duvida em um exercício da faculdade, caso alguém puder me ajudar.
Preciso fazer uma programação que leia os dados de N alunos e apresente na tela se foram
aprovados ou reprovados. O critério que garante a aprovação é que a média aritmética das
4 notas seja maior ou igual 7,0. O valor de N é a quantidade de alunos, e esse valor deve
ser lido do teclado no começo do programa. Faça um laço de repetição para a leitura destes
N alunos. As notas devem ser exibidas ao final do programa com uma casa decimal de
precisão.
Já fiz todo o código, só estou com duvida em como usar a função print para exibir todas as notas digitadas para cada um dos alunos.
Ex:
Escrevo o nome do aluno e em seguida preciso digitar as 4 notas. No final da programação preciso printar o texto logo abaixo:
Nome do aluno - Nota 1 - Nota 2 - Nota 3 - Nota 4 - Média - “Aprovado/ Reprovado”
As notas informadas são números flutuantes.
Já possuo todo o código feito, caso alguém puder me ajudar eu envio o código para ver.
Imprima aquele cabeçalho, faça um loop nos seus dados e vá imprimindo.
Estou em duvida em como informar no print cada uma das notas.
Por exemplo:
for i in range(1, quantidade+1):
nome=input(f’Informe o nome do {i}° aluno: ')
notas=[]
for j in range(1, 5):
nota=float(input(f’Informe a {j}° nota do {i}° aluno: '))
notas.append(nota)
Tenho duvida nessa ultima parte, em como informar cada uma das notas através do print.
print(f’ {nome} … aqui preciso colocar as notas … {media} {resultado}’)
notas = ','.join(str(nota) for nota in notas)
print(f'{nome} {notas} {media} {resultado}')
1 curtida
Eu testei aqui só que a função acaba imprimindo somente o dado de um aluno. Como eu poderia fazer para imprimir todos os dados informados? Por exemplo, se eu informar 5 alunos preciso fazer o print dos dados dos 5 alunos.
Na função acima somente está sendo feito o print do último aluno informado.
Como é mais de 1 aluno, dá para usar um dicionário:
alunos = {}
//quebrar no 5
while True:
nomeAluno = //input
notas = [] //popular notas
alunos[nomeAluno] = notas;
E vai ter que mudar a lógica de impressão, tem que por dentro de um loop.
qtde_alunos = int(input('Insira a quantidade de alunos: '))
for i in range(0, qtde_alunos):
situacao = ‘’
nome_aluno = str(input('Insira o nome do(a) aluno(a): '))
nota1 = float(input('Insira a nota 1:'))
nota2 = float(input('Insira a nota 2:'))
nota3 = float(input('Insira a nota 3:'))
nota4 = float(input('Insira a nota 4:'))
media = (nota1 + nota2 + nota3 + nota4) / 4
if media >= 7.0:
situacao_aluno = 'aprovado'
situacao = situacao_aluno
else:
situacao_aluno = 'reprovado'
situacao = situacao_aluno
print(f'nome do aluno: {nome_aluno} - nota 1: {nota1} - nota 2: {nota2} - nota 3: {nota3} - nota 4: {nota4} - '
f'média: {media} - situação: {situacao}')
O código está aqui em cima.