使用python中用户输入的类中的字典

2024-09-29 02:16:49 发布

您现在位置:Python中文网/ 问答频道 /正文

以下是我当前的代码:

class city1:
    dict = {"north":"city2", "east": 0, "south": 0, "west": "city3"}

validcmds = ['north', 'east', 'south', 'west']
input=raw_input(">>")
input=set(input.split())
validcmds=set(validcmds)
output = list(validcmds.intersection(input))
print city1.dict(output)

我不知道这条线怎么了:

^{pr2}$

基本上,我只想在city1类的dict中查找输出。它是为我的基于文本的RPG:)


Tags: 代码inputoutputrawdictclasswestset
3条回答

首先,不要使用dict这个词。当您这样做时,您将屏蔽内置的dict()方法。接下来,您可以使用d.get(key)方法从字典中检索元素。在

您可能需要检查您的代码,因为我不相信它在当前状态下工作,即使您从字典中检索了元素。在

输出是键的列表。你不能用一系列的键同时给你的dict加上键。您应该: print [city1.dict[x] for x in output]

顺便说一下,input是一个方法,通过分配给输入,您删除了该命令。。(这里不重要,但你可能想知道)

你不用圆括号来查字典。请改用print city1.dict[output]。但是,看起来你是在用字典键创建一个列表,Python会抱怨如果你试图在这样的列表上建立索引,这是不可散列的。在

如果output中有多个键,请尝试以下操作:

print [city1.dict[elem] for elem in output]

以数据结构的类型命名也是一种不好的做法。我会考虑将dict重新命名为其他东西,例如city_dict或更具描述性的东西。在

相关问题 更多 >