目前,我正在尝试解决我编写的代码中的一个问题,出于某种原因,每当我调用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()
我把代码限制为只能添加两个人。因此,如果我写的第一个人,rut=1,nombre=1,edad=1,第二个人,rut=2,nombre=2,edad=2。使用main()时,它应该打印: 1 1 1 2 2 2 但是它只打印2 2 2,没有找到1 1 1 1,我的猜测是,不知何故添加的人没有被添加,而是被重写了,但我不知道为什么,如果我在main()中包含imprimir(),它会在我添加完一个人后打印每个人,但是这个想法是程序应该在我完成添加后打印所有添加的人
问题是添加具有相同键的项时,
dict
只会用添加的每个项覆盖最后一个值相关问题 更多 >
编程相关推荐