这应该是一个带有用户输入的菜单驱动程序。我对module.min.js
知之甚少。我知道如何绘制形状,但我没有给出用户输入的信息。我只是说一下每个形状的绘制方式。
我应该导入一个模块,并有一个包含4个选项的菜单:
我不知道如何创建或导入模块,我不知道如何添加用户输入,我也不知道如何创建菜单...
到目前为止,我所拥有的是下面粘贴的代码。是完全错误还是只需要调整以符合上述标准?
turtle
答案 0 :(得分:0)
使用Tkinter。 使用此模板:
from Tkinter import * #the module could also be called tkinter (no caps)
root = Tk()
def circle():
turtle.clear()
#Cirle drawing code
def rectangle():
turtle.clear()
#rectangle drawing code
def star():
turtle.clear()
#star drawing code
def quit1():
root.destroy()
circler = Button(root,text="Circle", command=circle)
rectangler = Button(root,text="Rectangle", command=rectangle)
starer = Button(root,text="Star", command=star)
quiter = Button(root,text="Quit", command=quit1)
circler.pack()
rectangler.pack()
starer.pack()
quiter.pack()
root.mainloop()
你也不需要: 1.不止一次进口龟 2.创建一个新的乌龟(例如,使用“turtle.forward(100)”)。
确保在函数
中编写不同的代码片段回顾是否有效
答案 1 :(得分:0)
您不需要使用像Tkinter这样的模块来实现菜单,而是可以使用Python 3龟新手中的一种图形输入方法来完成:
turtle.textinput(title, prompt)
turtle.numinput(title, prompt, default=None, minval=None, maxval=None)
这是一个骨架的例子:
import turtle
def circle():
turtle.reset()
pass # Circle drawing code
def rectangle():
turtle.reset()
pass # rectangle drawing code
def star():
turtle.reset()
pass # star drawing code
COMMANDS = [None, circle, rectangle, star, exit]
ABORT = len(COMMANDS) - 1
PROMPT = "1. Draw a circle\n2. Draw a rectangle\n3. Draw a star\n4. Quit"
while True:
choice = turtle.numinput("Pick a number", prompt=PROMPT, default=ABORT, minval=1, maxval=ABORT)
if choice is None:
choice = ABORT
else:
choice = int(choice)
if 1 <= choice <= ABORT:
COMMANDS[choice]()
turtle.mainloop() # never reached
更好的方法是消除无限循环while True:
,而是使用像计时器事件这样的东西来调出初始菜单,以及每次绘制完成后的后续菜单。这将允许turtle.mainloop()
执行并允许其他类型的事件触发。
如果您想允许文本输入而不是简单的数字选择,您可以改用turtle.textinput()
,但要仔细解析用户输入!