在 turtle (python) 的变量中存储位置时出现问题
Trouble with storing a position in a variable in turtle (python)
代码
import turtle
window = turtle.Screen()
pen = turtle.Turtle()
def reset(p):
pen.up()
pen.goto(p);
pen.forward(30);
pen.down();
pen.forward(100);
def cdraw():
p = pen.position();
for x in range(180):
pen.backward(1)
pen.right(1)
return p;
reset
我的重置功能似乎不起作用,我认为问题出在我的 goto(p) 行上。我不确定我是否可以使用:
p = pen.position();
我的代码当前运行 cdraw 函数然后停止。
你的最后一个问题涉及不应该包含的括号:
turtle.onscreenclick(star()) -> turtle.onscreenclick(star)
这个是相反的,缺少所需的括号:
reset -> reset()
但是还有其他问题 -- 括号与否,任何紧跟在 return
语句之后的代码将永远不会到达:
return p;
reset # never reached
您提供的代码片段永远不会调用 cdraw()
,因此永远不会调用 reset()
。最后,分号在正确编写的 Python 程序中确实没有位置。
以下是我对您的程序的预期外观的最佳猜测,但没有足够的信息可以确定:
import turtle
def reset(p):
pen.up()
pen.goto(p)
pen.forward(30)
pen.down()
pen.forward(100)
def cdraw():
p = pen.position()
for x in range(180):
pen.backward(1)
pen.right(1)
reset(p)
window = turtle.Screen()
pen = turtle.Turtle()
cdraw()
window.exitonclick()
这些问题不是关于海龟图形,而是关于基本的 Python 编程。
首先:你不需要;
第二:对于 运行 函数,您需要函数名称和 ()
- 即。 reset()
- 你有 reset
第三:return
结束函数(returns到调用函数的地方)并且return
之后的所有内容都不会被执行。
import turtle
# --- functions ---
def reset(p):
pen.up()
pen.goto(p);
pen.forward(30);
pen.down();
pen.forward(100);
def cdraw():
p = pen.position();
for x in range(180):
pen.backward(1)
pen.right(1)
# call function `reset` with `p`
reset(p)
# --- main ---
window = turtle.Screen()
pen = turtle.Turtle()
cdraw()
代码
import turtle
window = turtle.Screen()
pen = turtle.Turtle()
def reset(p):
pen.up()
pen.goto(p);
pen.forward(30);
pen.down();
pen.forward(100);
def cdraw():
p = pen.position();
for x in range(180):
pen.backward(1)
pen.right(1)
return p;
reset
我的重置功能似乎不起作用,我认为问题出在我的 goto(p) 行上。我不确定我是否可以使用:
p = pen.position();
我的代码当前运行 cdraw 函数然后停止。
你的最后一个问题涉及不应该包含的括号:
turtle.onscreenclick(star()) -> turtle.onscreenclick(star)
这个是相反的,缺少所需的括号:
reset -> reset()
但是还有其他问题 -- 括号与否,任何紧跟在 return
语句之后的代码将永远不会到达:
return p;
reset # never reached
您提供的代码片段永远不会调用 cdraw()
,因此永远不会调用 reset()
。最后,分号在正确编写的 Python 程序中确实没有位置。
以下是我对您的程序的预期外观的最佳猜测,但没有足够的信息可以确定:
import turtle
def reset(p):
pen.up()
pen.goto(p)
pen.forward(30)
pen.down()
pen.forward(100)
def cdraw():
p = pen.position()
for x in range(180):
pen.backward(1)
pen.right(1)
reset(p)
window = turtle.Screen()
pen = turtle.Turtle()
cdraw()
window.exitonclick()
这些问题不是关于海龟图形,而是关于基本的 Python 编程。
首先:你不需要;
第二:对于 运行 函数,您需要函数名称和 ()
- 即。 reset()
- 你有 reset
第三:return
结束函数(returns到调用函数的地方)并且return
之后的所有内容都不会被执行。
import turtle
# --- functions ---
def reset(p):
pen.up()
pen.goto(p);
pen.forward(30);
pen.down();
pen.forward(100);
def cdraw():
p = pen.position();
for x in range(180):
pen.backward(1)
pen.right(1)
# call function `reset` with `p`
reset(p)
# --- main ---
window = turtle.Screen()
pen = turtle.Turtle()
cdraw()