在找到了我前面问题的解决方案后,我已经面对了几个小时的海龟函数的新问题。我对Python和海龟是新手,所以我不确定在哪里放置命令(即定义函数之前或之后)的语法,所以它们将在龟模块中实现,因为我正试图模拟随机龟赛跑,但它只会继续出现在黑龟中心的黑龟屏幕上。我在做什么阻止命令工作?到目前为止,这是我所拥有的,但我想至少知道我已经把第一部分弄好了,然后再进一步研究其余部分:
import turtle
import random
t = turtle.Turtle('turtle')
v = turtle.Turtle('turtle')
s = turtle.Screen()
s.exitonclick()
def setup(turtle1, turtle2, s):
t = turtle1
v = turtle2
s.setworldcoordinates(0,0,50,50)
t.setposition(1,25)
t.up()
v.setposition(1,25)
v.up()
t.color('red')
v.color('red')
s = turtle.Screen()
s.exitonclick()
def newHeading(turtle, angleOfTipsiness):
t.setheading(random.randrange(-angleOfTipsiness, angleOfTipsiness))
v.setheading(random.randrange(-angleOfTipsiness, angleOfTipsiness))
我需要开始的图片看起来像这样:http://www.cs.ucsb.edu/~buoni/cs8/labs/lab02/start.JPG
谢谢你!在
{{cdm>
关于准则的几点意见:
您的},而不是将它们分配给新的局部变量}。(如果函数参数太长而不能反复输入,只需给它们较短的名称。)同样,
setup
函数应该使用参数turtle1
和{t
和{newHeading
根本不使用turtle
参数。t
和v
是局部变量的混淆名称,因为已经有了具有相同名称的全局变量。全局变量应该被赋予长的描述性名称。应为局部变量保留短名称,这些变量使用频率更高,并且在更有限的上下文中使用。
通常,函数可以访问全局变量并将包含的对象用作全局资源,也可以将对象作为参数接受并以这种方式使用。对于某些情况,两者都是有效的选择(前者更简单,后者更可重用),但您不应将两者混合使用。如果某个对象是全局变量,则不要同时将其作为参数传递;如果它是参数,则使用它而不是全局变量,即使该全局变量是可用的。对同一对象混合使用这两种方法会使以后维护代码的人感到困惑。在
相关问题 更多 >
编程相关推荐