2016-08-27 51 views
-2
import turtle 
k = 4 
turtle = turtle.Turtle() 
turtle.speed(200) 
turtle.pensize(1) 
turtle.pencolor("blue") 
x = 3 
while True: 
    for i in range(1, x): 
     t.forward(n) 
     t.left(360/x) 
    x = x + 1 

一位朋友在Facebook上发布了这个消息,作为一个初学者,我不确定它是如何工作的。请解释。有人可以解释这段代码吗?

+0

您的代码将无法运行。做一些修复,你会得到很好的乌龟图像。 –

+0

什么是“n”变量? –

+0

@AlirezaAfzalghaei我相信这是一个错字,应该是'i' –

回答

-1

代码中存在一些错误,例如k未被使用,t不存在(turtle = turtle.Turtle()应改为t = turtle.Turtle())。我假设n应改为i

Turtle是来自python的软件包,但它不是必需的软件包,因此您的代码可能无法在联机解释器上运行。当它运行时,它会产生这样的图像(动画):

enter image description here

+0

我真的没有回答主要问题,恐怕。 –

1

你的朋友的代码中包含了一些错误。我修改了代码看起来像下面的例子:

import turtle 
k = 4 
t = turtle.Turtle() 
t.speed(200) 
t.pensize(1) 
t.pencolor("blue") 
x = 3 
while True: 
    for i in range(1, x): 
     t.forward(i) 
     t.left(360/x) 
    x = x + 1 

然而,让我们把它一步一步:

  1. 第一行,写在一个叫Python的文件龟import turtle,进口所有的代码,进入你现在的档案。海龟模块允许您使用虚拟笔绘制线条和形状来绘制它们。
  2. 下一行设置变量k等于数字4
  3. 第三行是有点难以了解的初学者,但基本上你做什么是通过使用写在龟蟒蛇文件中的类制作龟对象称为turtle.Turtle。你应该注意到,我将调用我们的乌龟对象t而不是turtle作为您的导入的模块名称已被命名为乌龟。
  4. 使用乌龟创建我们的乌龟对象后,它现在具有turtle.Turtle类的所有属性和方法。其中一种方法叫做speed()。这可以在绘制线条或形状时控制龟的速度。
  5. 第四行应该很自我解释。在我们的turtle.Turtle对象t上,我们有另一种称为笔大小的方法,用于设置用于绘制的笔的大小。
  6. 第五行仅使用turtle.Turtle类中的另一种方法将绘图的笔颜色设置为蓝色。
  7. 第六行设置变量x等于数字3
  8. 下一行创建一个将永远运行的while循环。在while循环中,我们告诉python:
  9. 运行1到3范围内的for-loop独占。换句话说,运行for-loop 1次。
  10. for循环的每次迭代中,将我们的乌龟笔向前移动1个像素。
  11. for循环的每次迭代中,将我们的海龟笔向左移动180度。
  12. 最后和最后一行,通过1数在的每次迭代递增x可变while循环,而不是for循环

当程序运行时,它会看起来像在Lyang的答案中张贴的照片。

相关问题