我基本上想要让底部的列表调用顶部的一个选定列表来打印定义的乌龟绘图的内部(大小,位置)。
from turtle import *
portrait_01 = ['lines', 2, 1.0, '-']
portrait_02 = ['box_plot', 2, 1.0, '-']
def box_plot():
for i in range(4):
forward(50)
left(90)
def lines():
pendown()
forward(50)
left(90)
forward(50)
penup()
portrait_01[0]
pass
答案 0 :(得分:2)
您的代码需要进行一些重要更改才能正常运行。
from turtle import *
def box_plot():
for i in range(4):
forward(50)
left(90)
def lines():
pendown()
forward(50)
left(90)
forward(50)
penup()
portrait_01 = [lines, 2, 1.0, '-']
portrait_02 = [box_plot, 2, 1.0, '-']
portrait_01[0]()
mainloop()
首先,您需要将实际函数放入列表中,而不是字符串。然后你需要使用()
调用函数。我们需要将列表定义放在函数定义之后,因为在将它们放入列表之前需要定义函数。
我还在脚本的末尾添加了mainloop()
以保持窗口打开,直到用户关闭它。
你甚至可以做到
portraits = (portrait_01, portrait_02)
portraits[0][0]()
portraits[0]
从portrait_01
获取portraits
列表
portraits[0][0]
获取lines
函数和
portraits[0][0]()
调用lines
函数。
你的问题并不清楚肖像列表中的其他项目是什么意思,所以我无法帮助你。但至少你现在知道如何调用这些函数。 :)
顺便说一下,做from turtle import *
有点乱。最好做一些像:
import turtle
t = turtle.Turtle()
t.forward(50)
# etc