turtlegraphics:onscreenclick不起作用

bpsygsoo  于 2021-08-20  发布在  Java
关注(0)|答案(1)|浏览(191)

학번, 이름, 전공

def Color():
    import random as r
    color=['yellow','red','blue','black','green'] #5색
    return r.choice(color)

def Shape():
    import turtle as t
    import random as r

    t.up()
    t.onscreenclick(t.goto) #클릭한 곳으로 거북이 이동
    t.pencolor(Color()) #펜 색깔 결정
    t.down()
    t.speed('fastest') #가장 빠른 속도로 거북이 설정
    shape = [0,3,4,5,6]
    result = r.choice(shape)
    line=r.randint(50,100) #50에서 100중에 random으로 반지름/변의 길이 설정

import turtle as t #turtle graphic import
import random as r #random import

t.onscreenclick(t.goto)
Shape()
if (t.onkeypress("Space")) : #Space를 눌렀을 때 채우기 함수 실행
    t.onscreenclick(Fill())
if (t.onkeypress("Space")):
     t.onscreenclick(Shape())
if (t.onscreenclick("c")):
    Clear()

t.mainloop()

它表示tkinter回调回溯(最近一次调用为last)中的异常:文件“c:\users\suyeo\appdata\local\programs\python\python39\lib\tkinter\u init\uuuu.py”,第1892行,在调用返回self.func(*args)文件“c:\users\suyeo\appdata\local\programs\python\python39\lib\turtle.py”中的第674行,y)类型错误:“str”对象不可调用

pkwftd7m

pkwftd7m1#

onscreenclickonkeypress 设置回调-在这些事件发生时调用的函数。您只需要为每个事件或键调用这些函数一次,除非您需要修改它们。好了,它们不会返回任何值。 onscreenclick 接受一个参数:接受两个参数的函数 xy 协调。 onkeypress 接受两个参数:回调函数和键。

import turtle as t
import random as r

def fill():
    # TODO: Add your code here
    pass

def clear():
    # TODO: Add your code here
    pass

def color():
    color=['yellow','red','blue','black','green']
    return r.choice(color)

def shape(x, y):
    t.pencolor(color())
    t.goto(x, y)

t.speed('fastest')

# Setup the callbacks. The first parameter to each is a function "pointer"

t.onscreenclick(shape)
t.onkeypress(fill, "space")
t.onkeypress(clear, "c")

shape(0, 0)

t.listen()
t.mainloop()

相关问题