我的朋友向我展示了她使用Python内置Turtle module制作的这个惊人的图像,并向我挑战,以了解它是如何制作的。她给了我一个提示:图像是用10行代码生成的。
从我的问题你可能已经知道我不知道。我已经尝试了很多东西,但是我不知道她是如何用仅仅10行的这样的详细模式填充圆圈的。我已经放弃了自己搞清楚,而且我的朋友不会告诉我,所以任何可以产生10行产生相似图像的人都可以把它弄清楚:P
注意:我不确定这是否适合StackOverflow,所以我很乐意在别处问(让我知道),但这个是使用Python代码制作的,所以我认为编程论坛上有人可能有经验来解决这个问题。
答案 0 :(得分:2)
经过一些调整,我发现这个,我认为,它非常接近图像,精确的10行。
import turtle
bob = turtle.Turtle()
bob.speed(0)
for i in range(632):
bob.forward(200)
bob.right(1)
bob.forward(100)
bob.setpos(0,0)
bob.left(1.57)
turtle.done()
编辑还有更多,请用一行绘制,得到这个,这是我没想到的:
import turtle
bob = turtle.Turtle()
bob.speed(0)
for i in range(1080):
bob.forward(300)
bob.setpos(0,0)
bob.left(0.33333)
turtle.done()
import turtle
bob = turtle.Turtle()
bob.speed(0)
for i in range(720):
bob.forward(50)
bob.right(19)
bob.forward(250)
bob.setpos(0,0)
bob.left(19.5)
turtle.done()
答案 1 :(得分:1)
感谢@citaret和@JerryJeremiah的建议,我能够在不到10行的情况下整理出与图像产生类似结果的东西:
from turtle import Turtle, Screen
mr_turtle = Turtle()
screen = Screen()
mr_turtle.speed(0)
for i in range(1800):
mr_turtle.forward(300)
mr_turtle.right(179.9)
screen.exitonclick()
谢谢你们!
答案 2 :(得分:1)
以下是我认为您正在寻找的内容:
Python 2.7.5 (default, Mar 9 2014, 22:15:05)
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import turtle
>>> t = turtle.Pen()
>>> for i in range(1000):
... t.forward(100)
... t.backward(100)
... t.left(79)
...
输出:
这是您在问题中显示的输出的缩影示例。 基本上,工作方式是每次乌龟笔前进并返回时,笔会转动。这会重复多次,以创建那些“详细模式”。此外,你的朋友可能会误导你一点,因为这比十行短得多。