找回密码
 会员注册
查看: 44|回复: 0

Python万圣节礼物

[复制链接]

2

主题

0

回帖

7

积分

新手上路

积分
7
发表于 2024-9-5 21:08:55 | 显示全部楼层 |阅读模式
文章目录系列文章前言小海龟快速入门万圣节蝙蝠万圣节南瓜头万圣节礼物尾声系列文章序号文章目录直达链接表白系列1无法拒绝的表白界面https://want595.blog.csdn.net/article/details/1347448942满屏飘字表白代码https://want595.blog.csdn.net/article/details/1350373883无限弹窗表白代码https://want595.blog.csdn.net/article/details/1347447114李峋同款可写字版跳动的爱心https://want595.blog.csdn.net/article/details/1347441915流星雨https://want595.blog.csdn.net/article/details/1347474086漂浮爱心https://want595.blog.csdn.net/article/details/1347449297爱心光波https://want595.blog.csdn.net/article/details/1347473658玫瑰花https://want595.blog.csdn.net/article/details/134747447节日系列1新春/跨年烟花秀(2022)https://want595.blog.csdn.net/article/details/128727394烟花秀(2023)https://want595.blog.csdn.net/article/details/135042880粒子烟花https://want595.blog.csdn.net/article/details/1360294202圣诞节圣诞礼物https://want595.blog.csdn.net/article/details/135336583圣诞树(2022)https://want595.blog.csdn.net/article/details/128428985绿色圣诞树(2023)https://want595.blog.csdn.net/article/details/135048607粉色圣诞树(2023)https://want595.blog.csdn.net/article/details/1350430423冬至大雪纷飞https://want595.blog.csdn.net/article/details/1288060174生日生日蛋糕https://want595.blog.csdn.net/article/details/1287397555儿童节五彩气球https://want595.blog.csdn.net/article/details/1287410436国庆节国庆祝福https://want595.blog.csdn.net/article/details/1287409237万圣节万圣礼物https://want595.blog.csdn.net/article/details/1287343958愚人节愚人代码https://want595.blog.csdn.net/article/details/1286969909中秋节浪漫星空https://want595.blog.csdn.net/article/details/12873728410植树节樱花树https://want595.blog.csdn.net/article/details/128700178动漫系列1名侦探柯南系列柯南https://want595.blog.csdn.net/article/details/1347776132喜羊羊与灰太狼系列喜羊羊https://want595.blog.csdn.net/article/details/134778583懒羊羊https://want595.blog.csdn.net/article/details/134847642灰太狼https://want595.blog.csdn.net/article/details/135335303小灰灰https://want595.blog.csdn.net/article/details/135335445小香香https://want595.blog.csdn.net/article/details/1350567833海绵宝宝系列海绵宝宝https://want595.blog.csdn.net/article/details/1348473644哆啦A梦系列哆啦A梦https://want595.blog.csdn.net/article/details/1350378845HelloKitty系列hellokittyhttps://want595.blog.csdn.net/article/details/1353377326Tom&Jerry系列Tom&Jerryhttps://want595.blog.csdn.net/article/details/1353377757草莓熊系列草莓熊https://want595.blog.csdn.net/article/details/1353378328皮卡丘系列迷你皮卡丘https://want595.blog.csdn.net/article/details/135337911高级皮卡丘https://want595.blog.csdn.net/article/details/135337937豪华皮卡丘https://want595.blog.csdn.net/article/details/135337947炫酷系列1  一闪一闪亮星星系列张万森下雪了https://want595.blog.csdn.net/article/details/135336915一闪一闪亮星星https://want595.blog.csdn.net/article/details/1353370492代码雨https://want595.blog.csdn.net/article/details/1350543413七彩花朵https://want595.blog.csdn.net/article/details/13505667043D星空https://want595.blog.csdn.net/article/details/1350565165金榜题名https://want595.blog.csdn.net/article/details/1350561506满天星https://want595.blog.csdn.net/article/details/135056305……前言万圣节即将来临,快来领取博主给大家准备的礼物吧!小海龟快速入门Python的小海龟(TurtleGraphics)是一个简单而有趣的绘图库,适合初学者入门学习编程。它允许你使用Python语言对图形进行绘制,通过简单的命令就能创造出各种有趣的图形。在本文中,我将为你提供一个关于Python小海龟绘图的入门简介。小海龟绘图可以追溯到Logo语言,它是由SeymourPapert在20世纪60年代开发的。而在Python中,我们可以使用turtle库来实现类似的功能。首先,我们需要在Python中导入turtle库。可以使用以下代码来实现:importturtle1'运行运行现在,我们可以创建一个海龟实例,并命名为my_turtle:my_turtle=turtle.Turtle()1海龟实例是一个图形窗口,你可以在其中绘制图形。它有一个默认的方向,朝向屏幕的右侧。让我们来尝试一些基本的绘图操作。例如,绘制一个正方形,代码如下:my_turtle.forward(100)my_turtle.right(90)my_turtle.forward(100)my_turtle.right(90)my_turtle.forward(100)my_turtle.right(90)my_turtle.forward(100)1234567在这个例子中,我们使用forward()方法向前绘制一条直线,使用right()方法向右转动一定角度。通过不断的重复这两个操作,我们可以绘制出一个正方形。现在,我们尝试绘制一个更复杂的图形,比如一个五角星。代码如下:foriinrange(5):my_turtle.forward(100)my_turtle.right(144)123在这个例子中,我们使用for循环来重复执行一系列操作。forward()方法和right()方法的参数可以根据你的需要调整,以实现想要的图形效果。除了基本的直线和角度操作之外,turtle库还提供了其他一些功能,例如改变画笔的颜色、粗细、移动、填充等操作。你可以根据需要来探索这些功能。最后,当你完成绘图后,记得使用以下代码来保持图形窗口打开,以便查看你的绘图结果:turtle.done()1这是一个简单的Python小海龟绘图入门简介。通过掌握这些基本的概念和操作,你可以开始创造出各种有趣的图形和艺术作品。希望这篇简介对你有所帮助,祝你在学习Python小海龟绘图过程中取得成功!万圣节蝙蝠让我们先从一只小蝙蝠开始吧!程序设计importturtleastk=0.5t.title("蝙蝠")t.setup(0.5,0.5)t.begin_fill()t.fillcolor('black')t.forward(k*10)t.setheading(75)t.forward(k*35)t.setheading(-75)t.forward(k*55)t.setheading(0)t.circle(k*40,90)t.right(90)t.forward(k*100)t.left(180)t.circle(k*100,90)t.setheading(180)t.circle(k*70,90)t.left(180)t.circle(k*70,90)t.right(90)t.circle(k*100,90)t.right(180)t.forward(k*100)t.right(90)t.circle(k*40,90)t.setheading(75)t.forward(k*55)t.setheading(-75)t.forward(k*35)t.setheading(0)t.forward(k*10)t.end_fill()t.mainloop()123456789101112131415161718192021222324252627282930313233343536程序分析这段代码利用了turtle库,在画布上绘制了一个黑色的蝙蝠。下面是代码具体的分析:导入turtle库,给它取了别名t。importturtleast1'运行运行设定窗口和窗口大小。这里窗口大小是默认画布大小的一半。t.title("蝙蝠")t.setup(0.5,0.5)12开始填充,填充颜色为黑色。t.begin_fill()t.fillcolor('black')12先向前走一段距离,然后转向75度,向右上方画出一条线段,长度为35k,然后再转向-75度,向右下方画出一条线段,长度为55k。最后转向0度,以当前位置为圆心,画出一个半径为40k的1/4圆弧。这些操作就勾勒出了蝙蝠的头部和身体的轮廓。t.forward(k*10)t.setheading(75)t.forward(k*35)t.setheading(-75)t.forward(k*55)t.setheading(0)t.circle(k*40,90)1234567向右走100k,然后转向180度,以当前位置为圆心,画出一个半径为100k的1/4圆弧,这样就画出了蝙蝠的翅膀。t.right(90)t.forward(k*100)t.left(180)t.circle(k*100,90)1234接下来,先转向180度,以当前位置为圆心,画出一个半径为70k的1/4圆弧,然后再转向180度,以当前位置为圆心,画出一个半径为70k的1/4圆弧,这样就画出了蝙蝠的身体下半部分和左侧翅膀的轮廓。t.setheading(180)t.circle(k*70,90)t.left(180)t.circle(k*70,90)1234接着,向右转90度,以当前位置为圆心,画出一个半径为100k的1/4圆弧,这样就画出了蝙蝠的身体上半部分和右侧翅膀的轮廓。t.right(90)t.circle(k*100,90)12向右转180度,向前走100k,然后右转90度,以当前位置为圆心,画出一个半径为40k的1/4圆弧,这样就画出了蝙蝠的尾部和右侧翅膀后部的轮廓。t.right(180)t.forward(k*100)t.right(90)t.circle(k*40,90)1234最后,以当前位置为起点,向左上方和左下方分别画出一条线段,长度为35k和55k,然后转向0度,向前走10k,这样就画出了蝙蝠的左侧翅膀前部和身体的轮廓。t.setheading(75)t.forward(k*55)t.setheading(-75)t.forward(k*35)t.setheading(0)t.forward(k*10)123456结束填充,并进入消息循环等待事件发生。t.end_fill()t.mainloop()12万圣节南瓜头万圣节怎么能少的了南瓜头呢~程序设计importturtledefinit():turtle.setup(1.0,1.0)turtle.speed(10)turtle.hideturtle()turtle.bgcolor('orange')defoutline():turtle.color('#CF5E1A','#CF5E1A')turtle.penup()turtle.goto(250,30)turtle.pendown()turtle.seth(90)turtle.begin_fill()forjinrange(25):turtle.fd(j)turtle.left(3.6)forjinrange(25,0,-1):turtle.fd(j)turtle.left(3.6)turtle.seth(-90)turtle.circle(254,180)turtle.end_fill()defeyes(args):foritemsinargs:position,angle,direction=itemsturtle.pensize(6)turtle.penup()turtle.goto(position,0)turtle.pendown()turtle.color('#4C180D','#4C180D')turtle.begin_fill()turtle.seth(angle)forjinrange(55):turtle.fd(3)ifdirection:turtle.left(3)#左转3度else:turtle.right(3)#右转3度turtle.goto(position,0)turtle.end_fill()defnose():#鼻子turtle.penup()turtle.goto(0,0)turtle.seth(180)turtle.pendown()turtle.begin_fill()turtle.circle(50,steps=3)turtle.end_fill()defmouth():#嘴巴turtle.color('#F9D503','#F9D503')turtle.pensize(6)turtle.penup()turtle.penup()turtle.goto(-150,-100)turtle.pendown()turtle.begin_fill()turtle.seth(-30)turtle.fd(100)turtle.left(90)turtle.fd(30)turtle.right(90)turtle.fd(60)turtle.left(60)turtle.fd(60)turtle.right(90)turtle.fd(30)turtle.left(90)turtle.fd(100)turtle.end_fill()turtle.done()deftail():turtle.penup()turtle.goto(0,180)turtle.pendown()turtle.color('#2E3C01')turtle.seth(100)turtle.pensize(25)turtle.circle(60,100)turtle.tracer(0)init()outline()tail()eyes_items=[(-60,230,0),(60,-50,1)]eyes(eyes_items)nose()mouth()turtle.done()123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596程序分析这段代码是利用turtle库在画布上绘制了一个南瓜头。下面是代码具体的分析:导入turtle库。importturtle1'运行运行定义一个init函数,用于初始化画布。窗口大小设置为1.0x1.0,背景色为橙色,画笔速度为10。definit():turtle.setup(1.0,1.0)turtle.speed(10)turtle.hideturtle()turtle.bgcolor('orange')12345'运行运行定义一个outline函数,用于绘制南瓜头的轮廓。先将画笔移动到(250,30)的位置,然后以该点为起点,向左右两侧交替绘制线段和圆弧,形成南瓜头的轮廓线。最后以圆弧为底部,填充橙色,完成南瓜头轮廓的绘制。defoutline():turtle.color('#CF5E1A','#CF5E1A')turtle.penup()turtle.goto(250,30)turtle.pendown()turtle.seth(90)turtle.begin_fill()forjinrange(25):turtle.fd(j)turtle.left(3.6)forjinrange(25,0,-1):turtle.fd(j)turtle.left(3.6)turtle.seth(-90)turtle.circle(254,180)turtle.end_fill()12345678910111213141516'运行运行定义一个eyes函数,用于绘制南瓜头的眼睛。函数接受一个列表参数args,其中每个元素表示一个眼睛的位置、角度和方向。在函数中,根据参数信息,将画笔移动到眼睛位置,然后按照一定的角度和方向绘制眼睛的轮廓线,最后填充黑色,完成眼睛绘制。defeyes(args):foritemsinargs:position,angle,direction=itemsturtle.pensize(6)turtle.penup()turtle.goto(position,0)turtle.pendown()turtle.color('#4C180D','#4C180D')turtle.begin_fill()turtle.seth(angle)forjinrange(55):turtle.fd(3)ifdirection:turtle.left(3)#左转3度else:turtle.right(3)#右转3度turtle.goto(position,0)turtle.end_fill()123456789101112131415161718'运行运行定义一个nose函数,用于绘制南瓜头的鼻子。先将画笔移动到画布中心,然后以中心点为圆心,画出一个半径为50的正三角形,最后填充黑色,完成鼻子绘制。defnose():turtle.penup()turtle.goto(0,0)turtle.seth(180)turtle.pendown()turtle.begin_fill()turtle.circle(50,steps=3)turtle.end_fill()12345678'运行运行定义一个mouth函数,用于绘制南瓜头的嘴巴。先将画笔移动到(-150,-100)的位置,然后按照一定的角度和方向绘制嘴巴的轮廓线,最后填充黄色,完成嘴巴的绘制。defmouth():turtle.color('#F9D503','#F9D503')turtle.pensize(6)turtle.penup()turtle.penup()turtle.goto(-150,-100)turtle.pendown()turtle.begin_fill()turtle.seth(-30)turtle.fd(100)turtle.left(90)turtle.fd(30)turtle.right(90)turtle.fd(60)turtle.left(60)turtle.fd(60)turtle.right(90)turtle.fd(30)turtle.left(90)turtle.fd(100)turtle.end_fill()turtle.done()12345678910111213141516171819202122'运行运行定义一个tail函数,用于绘制南瓜头的尾巴。先将画笔移动到(0,180)的位置,然后以该点为起点,按照一定半径和角度绘制尾巴的轮廓线,最后完成尾巴的绘制。deftail():turtle.penup()turtle.goto(0,180)turtle.pendown()turtle.color('#2E3C01')turtle.seth(100)turtle.pensize(25)turtle.circle(60,100)12345678'运行运行最后,调用turtle的tracer函数关闭动画效果,然后依次调用上述函数,完成南瓜头的绘制。turtle.tracer(0)init()outline()tail()eyes_items=[(-60,230,0),(60,-50,1)]eyes(eyes_items)nose()mouth()turtle.done()123456789万圣节礼物让我们将蝙蝠和南瓜头结合一下吧!程序设计importturtleastuimportrandomasraimportmathtu.setup(1.0,1.0)tu.screensize(1.0,1.0)tu.title("万圣节")tu.bgcolor('darkorange')t=tu.Pen()t.ht()colors=['black']classBat():#每个蝙蝠(蝙蝠类)def__init__(self):……1234567891011121314完整代码https://want595.blog.csdn.net/article/details/128734395程序分析这是一段python代码,用turtle模块创建了一个万圣节的场景,包括南瓜和蝙蝠。其中,南瓜的形状和颜色都很逼真,蝙蝠则实现了飞舞的动态效果。代码中定义了一个Bat类来创建蝙蝠对象,包含蝙蝠的大小、位置、颜色、移动速度等属性。move()方法实现了蝙蝠随机移动的效果,当蝙蝠飞出画布时,重新生成一个蝙蝠对象。pumpkin()方法用turtle画出了南瓜的形状和特点,包括南瓜的圆润和嘴巴的扭曲。最后,在主程序中实例化了100个蝙蝠对象,并使用while循环使它们在画布中不断移动,同时更新画面,显示出动态效果。整段代码用到了python的一些基本语法和turtle模块的函数,如setup()、screensize()、Pen()、begin_fill()、end_fill()等。通过这个小例子,我们可以了解到turtle的绘图功能,以及python类的基本使用。尾声感谢小伙伴们的支持吖,祝大家万圣节快乐哦!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2025-1-9 05:50 , Processed in 0.507824 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表