gpt4 book ai didi

python - 如何使用元组列表中的元组中的值作为函数的参数?

转载 作者:行者123 更新时间:2023-12-01 05:37:45 25 4
gpt4 key购买 nike

我正在尝试构建一个简单的图 block map ,作为一个更大项目的一部分,我提出的解决方案之一是使用如下函数:

def tile((value, X, Y)):
if value == 1:
pygame.draw.rect(screen, (0, 0, 0) (X, Y, 64, 64), 0)

我的想法是,我将级别设置为元组列表,其中包含一个值,该值表示要在此处绘制的图 block ,然后是该图 block 的坐标。

这当然是行不通的,因为你不能使用元组作为参数。

我的解决方案是从列表中的元组中获取值:

def tile(value, X, Y):
if value == 1:
pygame.draw.rect(screen, (0, 0, 0) (X, Y, 64, 64), 0)


level = [(1, 0, 0), (rest of list)]
tile(level[0[0]], level[0[1]], level[0[2]])

这不起作用,给了我

Traceback (most recent call last):
tile(level[0[0]], level[0[1]], level[0[2]])
TypeError: 'int' object has no attribute '__getitem__'

有人有解决办法吗?有什么方法可以将元组作为一系列参数输入到函数中吗?或者我只是使用了一种完全特殊的方法,永远不会起作用?我猜这只是由于我的无能,尽管我希望别人告诉我不然。

Python 2.7,pygame 1.9

最佳答案

您已经有了处理任务的最佳方法的答案,但您执行此任务的方式的具体问题是您需要执行 level[0][0] 等。 ,而不是level[0[0]]

关于python - 如何使用元组列表中的元组中的值作为函数的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18494435/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com