从一个包含多个列表的函数中返回一个列表。

3 浏览
0 Comments

从一个包含多个列表的函数中返回一个列表。

问题提前

所以我正在制作一个基本的基于文本的RPG,只是为了让我重返Python的基础知识,因为我已经离开了几个月。

我正试图创建一个将所有物品作为列表的函数,当调用物品的名称时,它会返回物品的“属性”。

例如:

def itemlist(input):
    item1 = [名称,伤害,等等]
    item2 = [名称,伤害,等等]
    item3 = [名称,伤害,等等]
    ...
    return(####)

在这里,我希望返回的是具有变量“input”中物品名称的物品列表,因此这个函数将被称为类似于

item = itemlist(item2)

然而,我得到了一个错误,说在我运行请求的main()函数中,'item2'未定义。

是我在胡闹还是我漏掉了某个解决方案?

0
0 Comments

从上述内容中,我们可以看出问题的原因是在函数中有多个列表,然后需要从函数中返回这些列表。解决这个问题的方法是使用字典来存储这些列表。字典的键是项目的名称,值是它们各自的统计数据。

具体的解决方法如下:

1. 创建一个字典来存储项目及其统计数据。例如:

items = {'sword': (12, 27), 'dagger': (42, 76), ...}

2. 在函数中,将所有的列表存储在这个字典中。例如:

def get_items():
    items = {'sword': (12, 27), 'dagger': (42, 76), ...}
    return items

3. 在需要返回这些列表的地方,直接返回字典的值。例如:

items = get_items()
print(items['sword'])

这样就可以获取到对应项目的统计数据了。

通过使用字典来存储这些列表,我们可以方便地从函数中返回多个列表,并且可以根据项目名称轻松地获取对应的统计数据。

0
0 Comments

问题原因:

问题出现的原因是item2itemlist内部被定义,而不是在main函数中可以看到的地方。

解决方法:

为了解决这个问题,我们可以将item2itemlist函数中返回,并在main函数中接收返回的列表。这样,main函数就能够访问到item2

下面是修改后的代码示例:

def itemlist():
    item1 = [1, 2, 3]
    item2 = [4, 5, 6]
    item3 = [7, 8, 9]
    return item2
def main():
    items = itemlist()
    print(items)
main()

在上面的代码中,我们将item2itemlist函数中返回,并在main函数中通过调用itemlist函数来获取item2。然后,我们将返回的列表存储在items变量中,并在main函数中打印出来。

通过这种方式,我们就可以在main函数中访问到item2了。

0