python - 如何向 Python 中的现有类实例添加新值?
问题描述
我正在尝试向现有的类实例添加一个新值,但我失败了。我将直接解释我正在尝试做的事情并显示我的代码:
假设我有许多不同名字的人,他们有不同价值的主题。输入应如下所示:
Joe -> car -> 5000
Mike -> house -> 100000
John -> phone -> 1000
Joe -> house -> 80000
etc.
当我得到一个同名的输入时,我应该将新的主题附加到现有的主题中,并从所有主题中列出一个列表并添加两个值。最后,当我得到输入时:
Joe vs John
只有当他们至少有一个来自同一类别的主题时,我才应该比较它们(在这个例子中它将是“房子”),并且这种情况一直持续到我得到命令“停止”。
class Person:
def __init__(self, name, subject, price):
self.name = name
self.subject = subject
self.price = price
people_list = []
while True:
data_input = input().split(" -> ")
if data_input[0] == "Stop":
break
elif len(data_input) == 3:
name, subject, price = data_input[0], data_input[1], data_input[2]
same_name = [x for x in people_list if x.name == name]
if len(same_name)>0:
(......)
else:
person = Person(name, subject, price)
people_list.append(person)
else:
info = data_input[0].split()
name_1, name_2 = info[0], info[2]
....
因此我有3个问题:
我可以直接在课堂上以某种方式添加新主题及其价值吗?这将创建一个包含所有主题的列表和一个包含班级中每个名字的所有价格的列表,对吗?
如果这是不可能的,我可以以某种方式将新主题附加到列表中(本例中为 people_list)吗?我认为这是不可能的,或者如果可能的话,那就更复杂了。
如何在不使用列表理解的情况下在课堂上进行搜索?
非常感谢您!
解决方案
推荐阅读
- java - 我们可以将父项目中定义的用户定义类用于子项目maven吗?
- rabbitmq - 如何使用 MassTransit 和 RabbitMQ 设置消费者优先级
- javascript - 为什么使用 mongoose 删除 mongodb 集合中的数据后集合模式的长度没有改变?
- haskell - Haskell Attoparsec 无限循环
- toolkit - 使用 Holotoolkit 滑块的值
- android - Android ImageView程序,如何根据随机函数设置imageview
- c - 我的最终功能不会返回
- xcode - 没有故事板的编码
- excel - 代码似乎永远运行并且错误:未设置块变量(VBA)
- jersey-2.0 - 带有 Guice 的 Jersey 2.27 - 没有 HK2-guice 桥是否支持