Python龟,使用列表中的颜色

时间:2014-02-17 20:53:42

标签: python turtle-graphics

colours =  [turtle.color("red"),turtle.color("blue"),turtle.color("yellow"),turtle.color("green")]

fred = colours[0],turtle.forward(100),turtle.left(90),colours[1],turtle.forward(100),turtle.left(90),colours[2],turtle.forward(100),turtle.left(90),colours[3],turtle.forward(100),turtle.left(90)

尝试从列表中创建具有4种不同颜色的正方形,键入(colors [0])会返回Nonetype类。如何从列表中访问颜色?

1 个答案:

答案 0 :(得分:0)

您的代码:

colours = [turtle.color("red")]

将运行函数turtle.color("red"),并将返回值存储在列表中。

完全相同:

colours = [None]

如果你致电colours[0],你会得到返回值,而不是函数。 Python不知道None是否通过函数调用结束,或者您是否只是手动分配它。

您只发布了两行代码,所以我不太清楚上下文是什么,但可能想要执行以下操作:

colours =  [lambda: turtle.color("red"), lambda: turtle.color("blue")]

这样做,就是在列表中存储lamba(或“匿名函数”)。此功能未执行。你现在可以得到:

>>> colours[0]
<function <lambda> at 0x80089e710>

你可以通过附加括号来多次执行它:colours[0]()

顺便说一下,这种技术被称为“currying”。