1
resposta

[Dúvida] Está conforme a atividade?

MAX_REGISTRO_ALUNOS = 3

alunos = []
notas_alunos = []

for _ in range(MAX_REGISTRO_ALUNOS):
    nome_aluno = input("Digite o nome do aluno: ").lower()
    idade_aluno = int(input("Digite a idade do aluno: "))
    nota_aluno = float(input("Digite a nota do aluno: "))
    alunos.append((nome_aluno, idade_aluno))
    notas_alunos.append(nota_aluno)

for i, aluno in enumerate(alunos):
    alunos[i] = (aluno[0].capitalize(), aluno[1], notas_alunos[i])

print("\nLista completa dos alunos:\n")
for aluno in alunos:
    print("| Nome: {} | Idade: {} | Nota: {} |".format(aluno[0], aluno[1], aluno[2]))

Estou tentando criar uma estrutura em que as notas sejam uma sublista dentro da lista de alunos, pois quero aprender melhor o conceito de sublista em programação. Também gostaria de sugestões de uma forma simples de implementar isso, para facilitar o entendimento desse conceito.

1 resposta

Ola

Dá pra dizer que está conforme a atividade, sim. Seu código funciona, registra os dados corretamente e mostra que você entendeu bem o uso de listas, tuplas e enumerate. Não há nada “errado” do ponto de vista do que a atividade pede.

Dito isso, o seu próprio comentário faz sentido: hoje você está usando duas listas separadas (alunos e notas_alunos) e depois juntando tudo. Isso resolve o problema, mas acaba escondendo um pouco o conceito de sublista, que é justamente o que você quer treinar.

Uma forma mais simples e didática seria já guardar tudo dentro de uma única estrutura, algo como uma lista de alunos onde cada aluno contém seus próprios dados. Por exemplo:

MAX_REGISTRO_ALUNOS = 3
alunos = []

for _ in range(MAX_REGISTRO_ALUNOS):
    nome = input("Digite o nome do aluno: ").capitalize()
    idade = int(input("Digite a idade do aluno: "))
    nota = float(input("Digite a nota do aluno: "))

    alunos.append([nome, idade, [nota]])

print("\nLista completa dos alunos:\n")
for aluno in alunos:
    print(f"| Nome: {aluno[0]} | Idade: {aluno[1]} | Nota: {aluno[2][0]} |")

Aqui fica mais claro que:

  • alunos é a lista principal
  • cada aluno é uma sublista
  • e dentro dela você ainda tem outra sublista para as notas

Isso ajuda bastante a visualizar e entender o conceito de sublistas, sem precisar sincronizar duas listas diferentes pelo índice.

Resumindo: sua solução está correta para a atividade, mas, para aprendizado, essa abordagem com tudo dentro da lista alunos tende a ser mais simples e mais alinhada com a ideia de sublistas.