в настоящее время я пытаюсь решить проблему в написанном мною коде, по какой-то причине всякий раз, когда я вызываю imprimir (), он отображает только последнего добавленного человека, а должен отображать всех добавленных.
libro = {}
def agregar(rut, nombre, edad):
estudiante = {}
estudiante['rut'] = rut
estudiante['nombre'] = nombre
estudiante['edad'] = edad
libro['rut'] = estudiante
def imprimir():
for rut in libro:
estudiante = libro[rut]
print(estudiante['rut'], estudiante['nombre'], estudiante['edad'])
def main():
contador = 0
while contador < 2:
rut = input("rut: ")
nombre = input("nombre: ")
edad = input("Edad: ")
contador = contador + 1
agregar(rut, nombre, edad)
imprimir()
main()
У меня был ограниченный код только для 2 человек, которые будут добавлены.так что если для первого человека я пишу rut = 1, nombre = 1 и edad = 1, а для второго rut = 2, nombre = 2 и edad = 2. При использовании main () он должен вывести: 1 11 2 2 2 но вместо этого он просто печатает 2 2 2 с 1 1 1 не найден, я предполагаю, что каким-то образом добавленный человек не добавляется, а вместо этого переписывается, но я не могу найти почему, если я включаю imprimir () в то время как вmain () печатает каждого человека, как только я заканчиваю добавлять его, но идея состоит в том, что программа должна напечатать всех добавленных людей, как только я закончу добавлять их.