一步步教你用python代码画一幅星空

 更新时间:2023年09月08日 10:36:29   作者:Open-AI  
这篇文章主要给大家介绍了关于如何使用python代码画一幅星空的相关资料,Python是一种非常流行的编程语言,它可以用来创建许多有趣的项目,例如绘制星空,需要的朋友可以参考下

前言

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

效果如图所示

代码如下 

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() # 显示画布,进入消息循环,等待用户操作

总结 

到此这篇关于用python代码画一幅星空的文章就介绍到这了,更多相关python代码画星空内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • PyQt5连接MySQL及QMYSQL driver not loaded错误解决

    PyQt5连接MySQL及QMYSQL driver not loaded错误解决

    这篇文章主要介绍了PyQt5连接MySQL及QMYSQL driver not loaded错误解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • 解决python将xml格式文件转换成txt文件的问题(xml.etree方法)

    解决python将xml格式文件转换成txt文件的问题(xml.etree方法)

    从数据分析的角度去看xml格式的数据集,具有简单性,结构和内容分离、可扩展性的特征,今天通过本文给大家分享python将xml格式文件转换成txt文件的问题及解决方法(xml.etree方法),感兴趣的朋友一起看看吧
    2021-09-09
  • Python单元测试unittest的具体使用示例

    Python单元测试unittest的具体使用示例

    本篇文章主要介绍了Python单元测试unittest,详细的介绍了unittest的概念和简单的使用示例,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-12-12
  • Python判断字符串是否xx开始或结尾的示例

    Python判断字符串是否xx开始或结尾的示例

    今天小编就为大家分享一篇Python判断字符串是否xx开始或结尾的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Python MySQLdb Linux下安装笔记

    Python MySQLdb Linux下安装笔记

    这篇文章主要介绍了Python MySQLdb Linux下安装笔记,本文分别讲解了快速安装和手动编译安装两种方法,并分别讲解了操作步骤,需要的朋友可以参考下
    2015-05-05
  • 粗暴解决CUDA out of memory的问题

    粗暴解决CUDA out of memory的问题

    这篇文章主要介绍了粗暴解决CUDA out of memory的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • Django JSONField的自动转换思路详解(django自定义模型字段)

    Django JSONField的自动转换思路详解(django自定义模型字段)

    如果想实现JSONField的自动转换,可以使用Django REST framework的JSONField,或者自定义一个字段类并覆盖from_db_value()和get_prep_value()方法来实现这个功能,这篇文章主要介绍了Django JSONField的自动转换(django自定义模型字段)问题,需要的朋友可以参考下
    2023-06-06
  • python 进程池的两种不同实现方法示例

    python 进程池的两种不同实现方法示例

    这篇文章主要为大家介绍了python 进程池的两种不同实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • Python 多变量赋值问题小结

    Python 多变量赋值问题小结

    本文给大家介绍Python 多变量赋值问题,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2025-11-11
  • pandas 数据实现行间计算的方法

    pandas 数据实现行间计算的方法

    今天小编就为大家分享一篇pandas 数据实现行间计算的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06

最新评论