【发布时间】:2020-03-03 17:37:07
【问题描述】:
这里是初学者。
我正在尝试了解如何将用户输入数据与预设类数据进行比较。假设class = Person,加上年龄、体重和姓名。
我有两个人,johnsmith = Person(50, 200, "John Smith")
tomjones = Person(40, 220, "Tom Jones")
我想提示用户输入名称 Tom,并检查 Person 类的所有“名称”属性。比如,
person = input(print("Insert the person's name: ")) 输入“Tom”,然后返回所有 Tom 的列表供用户选择,或者如果只有一个,请确认用户确实指的是 Tom Jones。
我应该创建一个类似people = [tomjones, johnsmith, (etc)] 的数组,然后以某种方式在其中搜索吗?
请指出正确的方向,谢谢。
【问题讨论】:
-
首先,您不需要将
print放入您的input。将所有person数据保存在某种集合中,比如说一个列表。那么你需要做的就是result = [dude for dude in person_list if dude.name == user_input]当然调整变量名以匹配你的情况 -
将所有
Person保留在列表中,然后您可以使用for-loop 检查每个Person中的名称 -
你为什么不用字典?
标签: python