1
resposta

Registrando dados de alunos

lista = []
aluno = input("Digite os dados do aluno no formato Nome, Idade, Nota (separadas por vírgula): ")

while aluno: #quando receber um aluno vazio, o loop irá parar
    lista.append(tuple(aluno.split(', ')))
    aluno = input("Digite os dados do aluno no formato Nome, Idade, Nota (separadas por vírgula): ")

for aluno in lista:
    print(f"Aluno: {aluno[0]}\nIdade: {int(aluno[1])}\nNota: {float(aluno[2])}\n\n")
1 resposta

Olá, Luiz. Como vai?

Seu código está muito bem encaminhado e utiliza de forma correta o conceito de tuplas para armazenar registros imutáveis dentro de uma lista. A lógica de parada do while com uma string vazia é uma solução bem elegante e funcional para interações via terminal.

Notei apenas dois pontos que podem causar erros durante a execução, dependendo de como os dados forem digitados:

  • O método split(', ') espera exatamente uma vírgula seguida de um espaço. Se o usuário digitar apenas a vírgula, o Python não conseguirá encontrar o índice aluno[1] ou aluno[2], causando um erro de índice.
  • Se houver espaços extras acidentais, a conversão para int() ou float() pode falhar.

Uma forma de tornar seu código mais robusto é tratar cada elemento da tupla individualmente para remover espaços em branco. Veja esta sugestão:

lista = []
aluno = input("Digite os dados do aluno no formato Nome, Idade, Nota (separadas por vírgula): ")

while aluno:
    # O strip() em cada item garante que espaços extras não quebrem a conversão
    dados = [item.strip() for item in aluno.split(',')]
    lista.append(tuple(dados))
    aluno = input("Digite os dados do aluno no formato Nome, Idade, Nota (separadas por vírgula): ")

for aluno in lista:
    # Verificamos se a tupla tem os 3 elementos esperados antes de imprimir
    if len(aluno) == 3:
        print(f"Aluno: {aluno[0]}\nIdade: {int(aluno[1])}\nNota: {float(aluno[2])}\n")

Essa abordagem de usar tuplas dentro de listas é excelente para simular pequenos bancos de dados em memória, pois garante que os dados de um aluno específico fiquem sempre agrupados.

Espero que possa ter lhe ajudado!