我正在尝试制作一个程序,在我创建的模块中练习我的课程知识和格式化/基本数学知识。其想法是创建一个Merchandise
数据类(称为Merchandise.py
),并在单独的文件中创建一个名为store_merch.py
的可执行程序来测试它。我知道我应该按照基本的UML图来建模,比如:
Merchandise
__item
__quantity
__cost
__init__(item,quantity,cost)
set_item(item)
set_quantity(quantity)
set_cost(cost)
get_item()
get_quantity()
get_cost()
get_inventory_value()
__str__()
{cd4>{a方法将计算 编辑:对于我在这里要问的内容,似乎有些混乱,所以我在下面重点介绍了我要了解的核心概念:(注意,我试图强调使用getter/setters)。这里有两个程序商品.py它拥有所有的getter/setter,第二个程序向用户请求输入并运行商品.py模块 对于 为10个锤子创建一个 为6条项链创建另一个 运行两个对象的 提示用户为hammer对象输入新的数量,然后使用setter方法更改此属性。 提示用户输入项链对象的新成本,然后使用setter方法更改此属性。 再次运行 同时显示每个对象的库存值。 样本输出 锤子,10美元,14.95美元 项链,6美元799.99美元 输入硬件12的新数量 输入珠宝659的新成本 锤子,12美元,14.95美元 存货价值:179.40美元 项链,6美元,659.00美元 库存价值:$3954.00 到目前为止,我的两个项目如下: 目前它只重命名hammer实例及其属性并正确提示用户,打印锤子和项链的新价格/数量,但不是我想要的方式。我的一个朋友帮我指出了一些我做错了的事情,但老实说,对于如何创建更多实例并调用以前的实例,我有点不知所措,所有这些都是在添加每个实例的属性并显示结果的同时: 1。你没有为项链创建第二个对象。您重新分配了硬件对象的属性。你没有使用输入。
这个。。。储存_商品数量(十二)
应该是。。。储存_商品数量(第2项) 2。在输入新数量的锤子时,您忘记使用int()函数。 3。启动store_merch=的线路是另一个罪魁祸首。你忘了用商品。商品就像你刚开始的时候那样。但是无论如何,您不应该创建一个名为store_merch的新实例。您应该使用store_商品对象的setter来获取数量。从那里拿走! 感谢任何帮助!第一个问题在这里,所以我希望我遵守所有的规则之前张贴!!(:store_merch
程序,我想:Merchandise
实例,每个锤子的成本为14.95美元。Merchandise
对象,每个价值799.99美元。__str__
方法。__str__
方法来验证更改。
我不太确定你的问题是什么,但我知道你朋友说的“你没有为项链创造第二个对象”是什么意思
您将store_商品作为商品对象启动,然后继续使用set_x(x)来更改其属性。在
相反,您应该通过初始化另一个变量来实例化对象的新实例,而不是更改原始变量的属性。这可以在第一次启动的同一时间完成,但使用不同的名称。在
store_merchandise = merchandise.Merchandise('hammer',10,14.95) //initiate the first object properties 'hammer',12,14.95 store_merchandise2 = merchandise.Merchandise('necklaces',6,799.99) //initiate the second object with properties 'necklaces',6,799.99
;然后你可以像以前一样访问它们,当你需要它们时,分别调用它们。这样,您就有了一个商品对象的两个独立实例,而不是更改一个实例。在