用python代码画出一片星空,python满天星绘制流程图

本文详细介绍了如何使用Python的Turtle库绘制满天星效果,包括星星类的创建、画星星函数、星星大小变化动画的实现,以及一个完整的主函数,带你一步步实现闪烁的星空效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大家好,小编来为大家解答以下问题,用python代码画出一片星空,python满天星绘制流程图,现在让我们一起来看看吧!

目录

系列文章

前言

小海龟

满天星

完整代码

写在后面


系列文章

序号文章目录直达链接
表白系列
1无法拒绝的表白界面【Python表白系列】制作一个无法拒绝的表白界面(完整代码)_python绘制立体玫瑰花-优快云博客
2满屏飘字表白代码【Python表白系列】满屏飘字表白代码等你来取!(完整代码)_抖音同款满屏飘字表白代码(python版)-优快云博客
3无限弹窗表白代码【Python表白系列】无限弹窗,满屏表白代码来啦(完整代码)_python无限弹窗表白-优快云博客
4李峋同款可写字版跳动的爱心【Python表白系列】李峋同款可写字版跳动的爱心(完整代码)_李峋爱心代码电脑版-优快云博客
5流星雨【Python表白系列】全网首创,让我们一起去看流星雨吧!(完整代码)-优快云博客
6漂浮爱心【Python表白系列】这个情人节用代码画个漂浮的爱心送给她吧(完整代码)_csdn-优快云博客
7爱心光波【Python表白系列】如何用代码实现爱心光波的表白效果(完整代码)-优快云博客
8玫瑰花【Python表白系列】用代码画玫瑰花,属于程序员的浪漫告白(完整代码)_pycharm写99个玫瑰花-优快云博客
节日系列
1新春/跨年烟花秀(2022)【Python节日系列】禁止燃放烟花爆竹,那就用Python画场烟花秀吧(完整代码)-优快云博客
烟花秀(2023)【Python节日系列】今年跨年一起去看Python烟花秀吧(完整代码)_python跨年代码-优快云博客
粒子烟花【Python节日限定】新春快乐,绽放一场粒子烟花盛宴吧(完整代码)-优快云博客
2圣诞节圣诞礼物【Python节日系列】从天而降的圣诞礼物(完整代码)-优快云博客
圣诞树(2022)【Python节日系列】教你用Python画圣诞树,做个浪漫的程序员(完整代码)_圣诞树代码python合集-优快云博客
绿色圣诞树(2023)【Python节日系列】含礼物的圣诞树(完整代码)-优快云博客
粉色圣诞树(2023)【Python节日系列】慢慢画一棵粉红色的圣诞树(完整代码)_跳动爱心代码-优快云博客
3冬至大雪纷飞【Python节日系列】这个冬天画一场大雪送给你的好朋友吧(完整代码)_python结婚祝福-优快云博客
4生日生日蛋糕【Python节日系列】专属于程序员的生日蛋糕,你学会了吗(完整代码)_python tkinter 列表控件-优快云博客
5儿童节五彩气球【Python节日系列】让代码创造童话,共建快乐世界(完整代码)_want595-优快云博客
6国庆节国庆祝福【Python节日系列】目光所至皆华夏,五星闪耀为信仰(完整代码)_tk.radiobutton控件-优快云博客
7万圣节万圣礼物【Python节日系列】终于要到我这只可爱鬼的节日啦!(完整代码)_python tkinter menu背景颜色无效-优快云博客
8愚人节愚人代码【Python节日系列】这个愚人节,送你最好的朋友一个惊喜吧(完整代码)_tkinter 点击button 才显示lab-优快云博客
9中秋节浪漫星空【Python节日系列】中秋佳节将至,和最重要的人一起来赏月吧(完整代码)_python 绘图控件-优快云博客
10植树节樱花树【Python节日系列】樱花树下的约定,你还记得吗(完整代码)_tk, text, entry-优快云博客
动漫系列
1名侦探柯南系列柯南【Python动漫系列】名侦探柯南(完整代码)_python绘制柯南-优快云博客
2喜羊羊与灰太狼系列喜羊羊【Python动漫系列】喜羊羊(完整代码)_pythan喜羊羊代码-优快云博客
懒羊羊【Python动漫系列】懒羊羊(完整代码)_python用turtle画懒羊羊代码-优快云博客
灰太狼【Python动漫系列】灰太狼(完整代码)_灰太狼python代码-优快云博客
小灰灰【Python动漫系列】小灰灰(完整代码)-优快云博客
小香香【Python动漫系列】小香香(完整代码)-优快云博客
3海绵宝宝系列海绵宝宝【Python动漫系列】海绵宝宝(完整代码)-优快云博客
4哆啦A梦系列哆啦A梦【Python动漫系列】哆啦A梦(完整代码)-优快云博客
5HelloKitty系列hellokitty【Python动漫系列】HelloKitty(完整代码)-优快云博客
6Tom&Jerry系列Tom&Jerry【Python动漫系列】汤姆与杰瑞(完整代码)_python画杰瑞-优快云博客
7草莓熊系列草莓熊【Python动漫系列】草莓熊(完整代码)_python草莓熊-优快云博客
8皮卡丘系列迷你皮卡丘【Python动漫系列】迷你皮卡丘(完整代码)-优快云博客
高级皮卡丘【Python动漫系列】高级皮卡丘(完整代码)-优快云博客
豪华皮卡丘【Python动漫系列】豪华皮卡丘(完整代码)-优快云博客
炫酷系列
1  一闪一闪亮星星系列张万森下雪了【Python炫酷系列】张万森,下雪了(完整代码)-优快云博客
一闪一闪亮星星【Python炫酷系列】一闪一闪亮晶晶,跨年就看林北星(完整代码)-优快云博客
2代码雨【Python炫酷系列】黑客帝国代码雨(完整代码)-优快云博客
3七彩花朵【Python炫酷系列】漫天飘落的七彩花朵(完整代码)-优快云博客
43D星空【Python炫酷系列】这个3D星空好有趣(完整代码)_pycharm好玩3d代码-优快云博客
5金榜题名【Python炫酷系列】祝考研的友友们金榜题名吖(完整代码)-优快云博客
6满天星【Python炫酷系列】一闪一闪亮星星,漫天都是小星星(完整代码)_一闪一闪亮星星代码-优快云博客
……

前言

用Python画场小星星,完整代码见:【Python炫酷系列】一闪一闪亮星星,漫天都是小星星(完整代码)_一闪一闪亮星星代码-优快云博客

小海龟

老生常谈啦,在用python画樱花树前,我们先来了解一下turtle吧!

小海龟(Turtle)是Python中画图的一个重要的包(内置包),里面包含丰富的画图工具以及画图的各种功能,当你学会了用Turtle画图后,你可以画任何你想画的图案哦。

1.1 Turtle画板
Turtle的画板大小可以用turtle.screensize()函数来设置

turtle.screensize(width,height,bg)

设置画板的大小,包含宽和高,width为宽,height为高,bg为画布颜色

1.2 Turtle画笔
Turtle的画笔有几个常用的函数:

①turtle.penup():抬起画笔,此时移动画笔不会在画布上留下痕迹哦
②turtle.pendown():放下画笔,与turtle.penup相对应,放下画笔后就可以继续画画了(放下画笔后画画会在画布上留下痕迹)
③turtle.pensize():控制画笔的大小(可以根据需求自行定义画笔的大小哦)
④turtle.pencolor():控制画笔的颜色(可以自己在网上查阅所有python可以使用的颜色,python里面可以用的颜色有很多的哦)
⑤turtle.hideturtle():隐藏画笔(隐藏画笔以后画图时画笔就看不到了)

1.3 Turtle画图
在画图的过程中,我们经常要使用一些简单的移动函数:

①turtle.forward(x):将画笔向前移动x个像素(x可以理解为距离)
②turtle.backward(x):将画笔向后退x个像素(x可以理解为距离)
③turtle.left(n):将画笔向左旋转n度
④turtle.right(n):将画笔向右旋转n度
⑤turtle.speed():设置画笔画图的速度(1~10递增,0最快)

1.4 Turtle填色
在画好图后,我们经常需要对其进行填色,这里可以用turtle.fillcolor()函数,括号里写入你想填充的颜色即可python画五角星
在使用turtle.fillcolor()函数要注意其基本格式:

turtle.beginfill()     #开始填充
turtle.fillcolor()      #输入填充的颜色
turtle.endfill()        #结束填充

1.5 Turtle写字
在完成整个画图后,我们可以使用turtle.write()函数进行写字

turtle.write(" ",move,align,font)

① 第一个位置双引号内填入要写的字
② move(可选):在默认情况下,move为false。如果move为true,则笔将移动到右下角
③ align(可选):可取值是left即左、center即中、right即右之一,是字符串格式
④ font(可选):字体三元组(fontname、fontsize、fonttype),fontname即字体名称(字符串格式,如“宋体”),fontsize即字体大小),fonttype即字体类型如:normal(普通)、bold(粗体)、italic(斜体)

满天星

星星类 

Twinkle Twinkle Little Star ~

How I wonder what you are ~

Twinkle, Twinkle, Little Star - Wee Sing

先来看看星星类包含的基本信息吧~

class Star():            #星星类
    def __init__(self):   #初始化
        self.r=1       #星星的初始大小
        self.x=ra.randint(-1000,1000)      #星星在画布中的x坐标位置
        self.y=ra.randint(-500,500)        #星星在画布中的y坐标位置
        self.c=ra.choice(colors)           #在星星的颜色列表中随机选择一个颜色

画星星 

这一天~

我开始仰望星空发现~ 

星并不远~梦并不远~ 

只要你踮起脚尖~

仰望星空——张杰

是不是感觉很简单呢~

让我们再来看看每个星星是怎么产生的吧~

def star(self):                        #画星星的函数
    t.pensize(1)               #设置画笔大小
    t.penup()                  #提笔
    t.goto(self.x,self.y)      #设置星星在画布中的初始坐标
    t.pendown()                #落笔
    t.speed(0)                 #画星星的速度,范围为0~10(0最快)
    t.color(self.c)            #设置星星的外框颜色
    t.begin_fill()             #开始填色
    t.fillcolor(self.c)        #星星的内部颜色
    for i in range(5):         #循环画星星
        t.forward(self.r)
        t.right(144)
        t.forward(self.r)
        t.left(72)
    t.end_fill()               #结束填充颜色

这就是画每个星星的函数哦 

放大函数 

夜空中最亮的星~能否听清

那仰望的人~心底的孤独和叹息

Oh~夜空中最亮的星~能否记起

曾与我同行~消失在风里的身影

夜空中最亮的星 - 逃跑计划 (Escape Plan)

显然以上两个函数是主要的,但是这样还不够哦,我们还需要有一个让星星慢慢变大的函数,这样我们的星星就会显得不那么枯燥啦!

def change(self):              #改变星星的大小(星星不断增大)
    if self.r<=10:             #星星的最大大小不超过10
        self.r+=0.4          #递增
    else:                      #超过最大大小就重新画星星
        self.r = 1
        self.x = ra.randint(-1000, 1000)
        self.y = ra.randint(-500, 500)
        self.c = ra.choice(colors) 

主函数 

最后我们再写个主函数就好啦

Stars=[]              #星星列表
for i in range(200):           #循环增加星星
    Stars.append(Star())
while True:                   #开始画星星
    tu.tracer(0)
    t.clear()
    for i in range(100):
        Stars[i].star()
        Stars[i].change()
    tu.update()

完整代码

【Python炫酷系列】一闪一闪亮星星,漫天都是小星星(完整代码)_一闪一闪亮星星代码-优快云博客

写在后面

我是一只有趣的兔子,感谢你的喜欢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值