类型错误:无效的颜色参数和用于循环



我得到一个运行以下代码的"无效颜色参数":

pygame.draw.rect(screen, teamcolors[0][1], button_1)
pygame.draw.rect(screen, teamcolors[1][1], button_2)
pygame.draw.rect(screen, teamcolors[2][1], button_3)
pygame.draw.rect(screen, teamcolors[3][1], button_4)

teamcolors是从csv文件导入的RGB元组列表,如下所示:

(50, 255, 255)
(0, 100, 225)
(200, 200, 0)
(0, 0, 150)

依此类推,总共有15条这样的线。

两个问题:

  1. 如何避免无效颜色参数错误
  2. 如何循环使用draw.rect语句,而不是逐个执行?我不知道如何迭代"button_1"one_answers"button_2",因为它不允许我为其中的按钮编号使用变量

您应该有一个按钮列表。

buttons = [button_1, button_2, button_3, button_4]
for i in range(4):
pygame.draw.rect(screen, teamcolors[i][1], buttons[i])

或者更好的

for button, color in zip(buttons, teamcolors):
pygame.draw.rect(screen, color[1], button)

至于为什么会出现无效的颜色错误,teamcolors到底是什么样子的teamcolors[0][1]是合适的Color值吗?

最新更新