Ir ao conteúdo

Python Como imprimir todos os inputs de um determinado range em Python?


Posts recomendados

Postado

Recebi uma tarefa onde eu devo dar a entrada em uma quantidade N de alunos, que deve ser informado no inicio do código e fazer um algoritmo que receba os nomes e que solicite o valor de 4 notas para cada aluno, tudo em um laço de repetição.

Até aí tranquilo, porém os resultados dos alunos que deram entrada devem ser impressos no final do código, com suas notas e o resultado se foram aprovados ou não, como por exemplo:

 

nome      n1     n2     n3     n4       aprovado/reprovado

 

Não sei como imprimir os resultados de um range recebido de uma vez só, como é solicitado.

O que eu desenvolvi até então:

qtade = int(input('Quantidade de alunos avaliados: '))
while qtade <= 0:
    qtade = int(input('Quantidade de alunos avaliados: '))
if qtade > 0:
    for i in range(1, qtade + 1):
        aluno = str(input(f'Nome do {i}º aluno: ')).title()
        n1 = float(input(f'Digite o resultado da 1ª nota:  '))
        n2 = float(input(f'Digite o resultado da 2ª nota:  '))
        n3 = float(input(f'Digite o resultado da 3ª nota:  '))
        n4 = float(input(f'Digite o resultado da 4ª nota:  '))
        media = (n1 + n2 + n3 + n4) / 4
if media >= 7:
    resultado = str('APROVADO')
else:
    resultado = str('REPROVADO')
for i in range(0, qtade):
    print(f'{aluno}    {n1} {n2} {n3} {n4}  {resultado}')

 

O que resulta somente na impressão do último aluno inserido repetidas vezes =[

Quem puder me ajudar eu agradeço.

Postado

@Gabegol4     creio que seja porque você esteja usando variáveis simples , que tem apenas uma dimensão , e só guardam um valor , então você iria precisar de umas duas miL variáveis , para o caso do usuário querer inserir muitos alunos no programa ,  e isso seria inviável , pois o código ficaria bem grandão mesmo , e assim inventaram uma variáveL que guarda muitos valores nela , que são chamadas de vetores e Matrizes ,  em outras Linguagens , mas no python eles chamam essas variáveis de List  ,  e a instrução append para adicionar um valor na list , e depois para acessar esses dados usa-se a valor de cada  posição da list , e esse seu código modificado poderia ser assim  :

List_ou_matriz = []                                  # matriz vária linhas e colunas
                                                     # variáveL com várias subdivisões
qtd = int(input('Quantidade de alunos avaliados: ')) # pega um numero inteiro
while qtd <= 0:                                      # faz a vaLidação do número , se é positivo
    qtd = int(input('Quantidade de alunos avaliados: '))
if qtd > 0:
    for i in range(qtd):
        aluno = str(input(f'Nome do {i+1}º aluno: ')).title()
        notas = []                                   # são as colunas de cada Linha da matriz
        notas.append(aluno)
        media = 0                                    # cria e inciaLiza com valor zero , a variáveL media
        for j in range( 4 ):                         # de 1 até 4 são notas e a 5 é a media
            n = float(input(f'Digite o resultado da {j+1}ª nota:  ')) # pega as 4 notas
            media = media + n / 4                    # faz a media dos notas
                                                     # o certo seria colocar depois do finaL do loop
            notas.append( n )                        # inclui a nota em uma das colunas
        notas.append(media)                          # inclui a media em uma das colunas
        List_ou_matriz.append( notas )               # inclui uma Linha , formada por colunas , na matriz
        print()                                      # pula uma Linha para baixo
        print("A List = ",List_ou_matriz)            # escreve a Lista apenas para verificação
for i in range( qtd ):                               # percorrer todas as linhas da Lista de lista
    print('')                                        # pula uma Linha para baixo
    print(f'aluno -:', List_ou_matriz[i][0])         # o Aluno está na posição zero da linha da matriz
    for q in range(1,5):                             # escrever o conteúdo de cada coluna da linha da matriz
        print('com as notas:',List_ou_matriz[i][q])  # cada nota está em uma coluna da Linha
    print('e madia ----:',List_ou_matriz[i][5])      # a media foi a última incluída na coluna 5
    if float(List_ou_matriz[i][5]) >= 7:             # verifica valor armazenado na Quinta coluna , que é a média
        resultado = str('APROVADO')                  # armazena nessa variáveL essa mensagem
        print("aprovado !",resultado)                # escreve a mensagem
    else:
        resultado = str('REPROVADO')                 # armazena nessa variáveL essa mensagem
        print("reprovado !",resultado)               # escreve a mensagem

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...