我只是想征询我的意见,尽管我在Python中创建的基于文本的RPG框架非常薄。
class Item(object):
def __init__(self, item):
if(key in Loot):
self.item = Inventory[key]
else:
self.item = None
print('No loot obtain for that decision')
def get_item(self):
return self.item
def item(self):
return str(self.item)
class Inventory(object):
def __init__(self):
self.inventory = []
def add_item(self, item):
self.inventory.append(item)
return self.inventory
def added_loot(self):
print('Congrats, you have obtained a/an' + str(self.item))
当我运行add_loot方法时,当前代码将清单字典显示为值。我想看看是否有什么办法可以重新制作此代码,并将字典中的键用作我的self.inventory并对其进行随机排序?因此,当我打印出str(self.item)时,它将打印出实际的键,而不是字典中的值。
答案 0 :(得分:0)
您可能需要考虑对此进行改写,或者改为查看Code Review。您的问题似乎并未要求解决特定问题,尤其是第一行说您只想对代码发表意见。堆栈溢出并不是真正的解决之道。
为回答最后似乎是主要问题的问题,您定义了Item()类,因此您可以考虑添加__str__
or __repr__
方法。然后,您可以创建一个实例,并通过简单的print()
调用来打印您在上述方法中先前设置的任何字符串。
test = Item()
print(test)
当然,这将要求fixing your __init__
method的缩进不正确,并且没有属性。