📜  在Python中使用 Turtle 绘制带有月亮的星空(1)

📅  最后修改于: 2023-12-03 15:37:37.832000             🧑  作者: Mango

在Python中使用 Turtle 绘制带有月亮的星空

Turtle 是一个Python图形化模块,可用于绘制各种形状。在这篇文章中,我们将会展示如何使用 Turtle 在Python中绘制一个带有月亮的星空。

准备工作

首先,我们需要通过命令行安装 Turtle:

pip install turtle

使用 Turtle 生成图形需要一个可见窗口,我们可以使用 turtle.Screen() 方法创建出一个窗口:

import turtle

# 创建一个窗口
window = turtle.Screen()
绘制星空

现在,我们开始绘制星空。为了要让绘制过程更加有趣,我们可以添加随机位置的星星以及不同的颜色、大小等属性。下面是一个简单的代码示例:

import turtle
import random

# 创建一个窗口
window = turtle.Screen()

# 设置画笔
pen = turtle.Turtle()

# 隐藏画笔,让绘制过程更加有趣
pen.hideturtle()

# 循环绘制随机位置的星星
for i in range(50):
    # 随机位置
    x = random.randint(-300, 300)
    y = random.randint(-200, 200)
    pen.penup()
    pen.goto(x, y)
    pen.pendown()

    # 随机颜色和大小
    size = random.randint(5, 15)
    color = random.choice(["white", "yellow"])
    pen.color(color)
    pen.dot(size)

# 关闭窗口
window.exitonclick()

这段代码会在窗口中随机绘制出50个颜色和大小不同的星星。

绘制月亮

现在,我们来绘制月亮。月亮的绘制思路是:先画出一个白色的圆,在圆的左下角绘制一段黑色弧形,就可以呈现出月亮的形状了。

import turtle
import random

# 创建一个窗口
window = turtle.Screen()

# 设置画笔
pen = turtle.Turtle()

# 隐藏画笔,让绘制过程更加有趣
pen.hideturtle()

# 循环绘制随机位置的星星
for i in range(50):
    # 随机位置
    x = random.randint(-300, 300)
    y = random.randint(-200, 200)
    pen.penup()
    pen.goto(x, y)
    pen.pendown()

    # 随机颜色和大小
    size = random.randint(5, 15)
    color = random.choice(["white", "yellow"])
    pen.color(color)
    pen.dot(size)

# 画月亮
pen.penup()
pen.goto(100, 100)
pen.pendown()
pen.color("white")
pen.begin_fill()
pen.circle(50)
pen.end_fill()
pen.color("black")
pen.begin_fill()
pen.goto(50, 50)
pen.setheading(-60)
pen.circle(70, 120)
pen.goto(100, 100)
pen.end_fill()

# 关闭窗口
window.exitonclick()

运行以上代码,就会在窗口中绘制出一个带有月亮的星空。

总结

通过以上示例,我们了解了如何使用 Turtle 在Python中绘制一个带有月亮的星空。除了以上代码中的示例,你还可以添加更多的特效和效果,让你的星空更加炫酷。