Python 3.x 如何返回类变量内部的所有值?
我正在用Python编写一个文本冒险游戏,我很好奇如何列出Room类中的所有项目 我对Python非常陌生,而且实践非常有限Python 3.x 如何返回类变量内部的所有值?,python-3.x,Python 3.x,我正在用Python编写一个文本冒险游戏,我很好奇如何列出Room类中的所有项目 我对Python非常陌生,而且实践非常有限 # Declaring items and assigning them rooms dingus = Item("Dingus", "This really dings.") room["garden"].add_item(dingus) flippers = Item("Flippers", "Webbed in nature.") room["garden"].a
# Declaring items and assigning them rooms
dingus = Item("Dingus", "This really dings.")
room["garden"].add_item(dingus)
flippers = Item("Flippers", "Webbed in nature.")
room["garden"].add_item(flippers)
# Declare all the rooms
room = {
'garden': Room("Garden",
"""The flowers are blooming wonderfully. To the south lies a dark path.""")
}
class Room:
def __init__(self, title, description):
self.title = title
self.description = description
self.items = []
self.items_in_room = ''
def __repr__(self):
print(f"-" * 40)
return (f"You are at the {self.title}.")
def add_item(self, item):
return self.items.append(item)
def list_items_in_room(self):
for item in self.items:
self.items_in_room += item
', '.split(self.items)
return self.items
class Item:
def __init__(self, name, description):
self.name = name
self.description = description
def __str__(self):
return f'{self.name} - {self.description}' + '\n' + "-" * 40
我正在等待Room.list\u items\u in \u Room以逗号分隔的字符串列出房间中的所有项目。我已重新排列了您的代码,并更改了函数
list\u items\u in \u Room
。此外,我还将\uuuuu str\uuuuu
函数更改为\uuuu repr\uuuu
,并删除了'-'*40
(我不明白为什么会出现这种情况)
输出:
[Dingus - This really dings., Flippers - Webbed in nature.]
您是否按照此处显示的顺序执行此代码?我想你必须先定义你的类,然后是房间
room
dict,然后是顶层代码。我不是,我只是复制了我认为重要的东西。我对命令毫不在意。我盯着这个屏幕看的时间似乎有点太长了。这对我来说很有效,谢谢。我现在正在读关于能手和二传手的书。到底出了什么问题?是str方法吗?我不知道,直到你发布你的错误。一件显而易见的事情是执行代码块的顺序。在尝试创建相应的对象之前,未定义这些类。另外,我不明白为什么要创建一个包含项目列表的字符串变量。我自由地将它改为repr并删除了字符串变量
[Dingus - This really dings., Flippers - Webbed in nature.]