1
resposta

[Sugestão] #13 Registrando dados de alunos

#13 Registrando dados de alunos
alunos = []
while True:
nome = input("Digite o nome do aluno: ")
idade = int(input("Digite a idade do aluno: "))
nota = float(input("Digite a nota do aluno: "))
sair = input("Deseja encerrar o registro? (s/n): ")
alunos.append((nome, idade, nota))

if sair.lower() == 's':
    break

for i in alunos:
nome, idade, nota = i
print(f"Aluno: {nome}")
print(f"Idade: {idade}")
print(f"Nota: {nota}\n")

Desta forma estaria correto?
1 resposta

Olá! Como vai?

Sim, sua implementação está corretíssima e demonstra um uso muito inteligente das estruturas que você está estudando.

O grande destaque do seu código é o uso de uma lista de tuplas. Ao fazer alunos.append((nome, idade, nota)), você utiliza a lista para armazenar a coleção de estudantes (que pode crescer dinamicamente) e a tupla para agrupar as informações específicas de cada um, garantindo que os dados de um aluno fiquem "selados" juntos.

Aqui estão alguns pontos positivos e uma pequena dica de refinamento:

Pontos Positivos

  • Desempacotamento de Tuplas: No seu laço for, você usou nome, idade, nota = i. Isso é o que chamamos de tuple unpacking. É a forma mais elegante e legível de acessar os elementos de uma tupla em Python.
  • Entrada de Dados: Você utilizou corretamente os tipos int() para idade e float() para nota, o que é essencial para garantir a integridade dos dados.
  • Controle de Fluxo: O uso do while True com o break condicional é uma estrutura sólida para criar menus de interação com o usuário.

Dica de Ouro: Identação

Apenas um detalhe técnico: no trecho que você postou, a linha alunos.append(...) parece estar fora do bloco if sair..., o que está correto. Porém, certifique-se de que, no seu editor, as linhas dentro do while e do for estejam sempre com o recuo (espaços/tab) à direita. Em Python, a identação define o que pertence a cada bloco.

Seu código ficaria assim com a identação padrão:

alunos = []
while True:
    nome = input("Digite o nome do aluno: ")
    idade = int(input("Digite a idade do aluno: "))
    nota = float(input("Digite a nota do aluno: "))
    
    alunos.append((nome, idade, nota)) # Adiciona a tupla à lista
    
    sair = input("Deseja encerrar o registro? (s/n): ")
    if sair.lower() == 's':
        break

for aluno in alunos:
    nome, idade, nota = aluno
    print(f"Aluno: {nome} | Idade: {idade} | Nota: {nota}")

Você está no caminho certo! Usar tuplas dentro de listas é uma das formas mais comuns de organizar registros simples em Python.

Espero que possa ter lhe ajudado!