用Python中的Turtle绘制有月亮的星空
在Python中,Turtle是一个内置的库,它为我们提供了绘制不同的图案、形状或任何我们想要的东西,但为此,我们必须了解Turtle库所提供的不同函数的用途。
在这篇文章中,我们将学习如何绘制星空。也许这篇文章很长,但读完整篇文章后,你会很容易理解每一个步骤。
为此,我们使用Turtle库和随机模块来生成随机位置来绘制星星。
我们使用的绘制星空的方法如下:
方法 | 参数 | 描述 |
---|---|---|
Turtle() | None | 它创建并返回一个新的Turtle对象。 |
bgcolor | 颜色名称 | 填充窗口背景的颜色 |
circle() | 半径, 范围, 步骤 | 以给定的半径画一个圆。 |
title() | name | 赋予Turtle窗口名称。 |
forward() / fd() | amount | 它将Turtle向前移动指定的数量。 |
Screen() | None | 通过此方法后,Turtle屏幕将被激活。 |
speed | value | 决定笔的速度。 |
up() | 无 | 捡起Turtle的笔。 |
down() | None | 挑下Turtle的笔。 |
left() | angle | 它将Turtle逆时针旋转。 |
right() | angle | 它使Turtle顺时针转动。 |
goto() | x, y | 它将Turtle移动到x, y位置。 |
begin_fill() | None | 在绘制要填充的形状之前调用。相当于fill(True)。 |
end_fill() | 无 | 填充最后一次调用begin_fill()后绘制的形状。相当于fill(False)。 |
hideturtle() | 无 | 绘制完成后,隐藏Turtle。 |
exitonclick() | None | 点击后退出Turtle屏幕。 |
randint | start, end value | 生成指定范围内的随机值。 |
我们的星空是由许多星星和一个月亮组成的,月亮的形状是圆的。因此,我们必须首先学习如何画出星星和圆圈。
我们先来学习一下如何通过代码来绘制星星。
输出:
在上面的代码中,我们从0到5的范围内运行for循环,因为我们都知道星星有5条边,两条边之间的角度将是144度,这就是我们正在做的事情,在t.right(144)一行,我们正在以144度的角度移动Turtle的头,t.fd(200)一行决定我们星星的大小(值越小=星星越小)。
现在,我们要学习如何通过我们的代码来画圆。
输出:
在上面的代码中,为了制作一个圆,我们使用了turtle库提供的圆函数,只是我们传递了一个参数100,它定义了圆的半径。运行我们的代码后,我们得到了我们的圆。
因此,我们终于学会了如何画星星和圆。
现在我们要画出我们的星空:
输出:
Starry Sky
在上面的代码中,在阅读了每一行代码前的注释后,你会明白我们的代码是如何工作和绘制星空的。