欢迎进入jdb电子官方网站!

咨询热线:400-156-4567

用python代码画一幅星空

发布时间:2024-01-21 16:05:19

运行代码后,会在画布上画出一些大小不同、位置随机的白色星星,就像是一幅星空一样。你可以根据自己的需求修改代码,调整画布大小、星星数量和大小等参数,让画出来的星空更加逼真。

效果如图所示

 

import turtle
import random

# 设置画布大小和背景颜色
turtle.setup(800, 600)
turtle.bgcolor('black')

# 定义星星函数
def draw_star(x, y, size):
    turtle.penup()
    turtle.goto(x, y)
    turtle.pendown()
    turtle.color('white')
    turtle.begin_fill()
    for i in range(5):
        turtle.forward(size)
        turtle.right(144)
    turtle.end_fill()

# 画星星
for i in range(50):
    x = random.randint(-400, 400)
    y = random.randint(-300, 300)
    size = random.randint(5, 20)
    draw_star(x, y, size)

# 隐藏画笔
turtle.hideturtle()

# 显示画布
turtle.done()
import turtle  # 导入turtle模块
import random  # 导入random模块,用于生成随机数

# 设置画布大小和背景颜色
turtle.setup(800, 600)  # 设置画布大小为800x600像素
turtle.bgcolor('black')  # 设置背景颜色为黑色

# 定义星星函数
def draw_star(x, y, size):
    """
    画星星的函数
    :param x: 星星的x坐标
    :param y: 星星的y坐标
    :param size: 星星的大小
    """
    turtle.penup()  # 抬起画笔,不绘制轨迹
    turtle.goto(x, y)  # 将画笔移动到指定坐标
    turtle.pendown()  # 放下画笔,开始绘制轨迹
    turtle.color('white')  # 设置画笔颜色为白色
    turtle.begin_fill()  # 开始填充图形
    for i in range(5):  # 循环5次,画出五角星
        turtle.forward(size)  # 向前移动size个像素
        turtle.right(144)  # 向右旋转144度
    turtle.end_fill()  # 结束填充图形

# 画星星
for i in range(50):  # 循环50次,画出50个星星
    x = random.randint(-400, 400)  # 随机生成x坐标
    y = random.randint(-300, 300)  # 随机生成y坐标
    size = random.randint(5, 20)  # 随机生成星星的大小 
    draw_star(x, y, size) # 调用draw_star函数,画出一个星星


turtle.hideturtle() # 隐藏画笔,不显示画笔形状

turtle.done() # 显示画布,进入消息循环,等待用户操作