如何修改Python代码实现三次输入后一次性展示所有目录数据?
修改方案:三次输入后一次性展示所有数据
核心思路是先把所有输入生成的人物对象存起来,等三次输入全部完成后再统一展示。修改后的代码如下:
class Directory: def __init__(self, name, age, gender): self.name = name self.age = age self.gender = gender def show(self): print("{0}, {1}year(s), {2}".format(self.name, self.age, self.gender)) # 初始化空列表存储所有人物对象 people = [] for i in range(1, 4): a, b, c = input("Name, Age, Gender.(Please answer with a space): ").split() person = Directory(a, b, c) # 将对象存入列表,暂不展示 people.append(person) # 三次输入完成后,遍历列表展示所有数据 for person in people: person.show()
关键改动说明:
- 新增空列表
people,用来临时保存每次创建的Directory对象 - 循环内部不再直接调用
show()方法,而是把对象添加到列表中暂存 - 循环结束后,通过遍历列表统一调用每个对象的
show()方法,实现一次性展示所有数据
内容的提问来源于stack exchange,提问作者Wilson Kim
相关产品推荐
相关产品推荐

