当前位置:首页>python>元宵节必备!教你用python绘制电子灯笼,新手也能轻松上手!

元宵节必备!教你用python绘制电子灯笼,新手也能轻松上手!

  • 2026-09-09 14:05:30
元宵节必备!教你用python绘制电子灯笼,新手也能轻松上手!

亲爱的读者朋友们

元宵节快乐

今天让我们一起尝试用Python绘制红灯笼

小编还准备了一些灯谜,快来挑战吧!

代码详细解析:
程序初始化部分

背景颜色设置:

使用 turtle.bgcolor("#160005") 设置背景颜色为黑红色(#160005),这个颜色可以营造出元宵节的节日氛围,同时也为灯笼的绘制提供了较好的对比度。

可以尝试其他颜色值,如深蓝色(#02102d)、深紫色(#610327)等,以获得不同的视觉效果。

绘图速度设置:

turtle.speed(0) 设置绘图速度为最快(0 表示最快)。

画笔粗细设置:

turtle.pensize(5) 设置画笔粗细为5像素。

import turtleturtle.bgcolor("#160005")   # 设置背景颜色,可尝试其他颜色turtle.speed(0)             # 设置绘图速度为最快turtle.pensize(5)           # 设置画笔粗细为5
画灯笼主体部分

画笔颜色和填充颜色设置:

turtle.pencolor("#ffbd11") 设置画笔颜色为黄色(#ffbd11),与灯笼的传统颜色相呼应。

turtle.fillcolor("#de0b02")设置填充颜色为红棕色(#de0b02),作为灯笼的主体颜色。

绘制三个交错的圆:

使用三次 turtle.circle(100) 方法绘制了半径为100的圆,通过 turtle.forward(30) 方法调整了海龟的位置,使得三个圆交错排列,形成了灯笼的主体部分。还可以通过调整圆的半径和位置,绘制出不同形状和大小的灯笼。

urtle.pencolor("#ffbd11")  # 设置画笔颜色turtle.fillcolor("#de0b02") # 设置填充颜色turtle.begin_fill()         # 开始填充颜色turtle.circle(100)          # 画半径为100的圆 turtle.forward(30)          # 海龟向前移动30像素turtle.circle(100)          # 再画一个半径为100圆turtle.forward(30)          # 再向前移动30像素turtle.circle(100)          # 最后再画一个圆turtle.end_fill()           # 结束填充颜色
画灯笼中的长方形、提绳、吊穗:

绘制长方形:

通过多次调用 turtle.forward() 和 turtle.right() 方法,绘制了长方形、提绳、吊穗。

长方形的长和宽分别为80和20,这个尺寸可以根据实际需求进行调整。绘制七条穗子,每条穗子的长度不同,分别为60、90、120、150、120、90和60,这种变化的长度使得掉穗更加生动和自然。

写字:

使用 turtle.write("元", font=("隶书", 40)) 方法,写上了“元宵节”字,并设置了字体为隶书,字号为40。

画散落的圆点:

调整海龟位置:

使用 turtle.penup() 和 turtle.goto() 方法,将海龟移动到不同的位置,以便绘制散落的圆点。

绘制圆点:

使用 turtle.dot() 方法,绘制了六个不同大小和颜色的圆点。

完整代码

代码来自“看云Python学习手册”

# 画红灯笼### 程序初始化设置import turtleturtle.bgcolor("#160005")   # 设置背景颜色为#490305深红色。可试其他颜色(#02102d深蓝色 #610327深紫色 #160005黑红色)turtle.speed(0)             # 设置海龟绘图的速度,参数为0时最快turtle.pensize(5)           # 设置画笔粗细,即画灯笼线条的粗线为5### ① 画灯笼主体部分(三个圆交错)turtle.pencolor("#ffbd11")  # 设置画笔颜色,即灯笼线条颜色为#ffbd11,一种黄色turtle.fillcolor("#de0b02") # 设置填充颜色,即灯笼颜色为#de0b02,一种红色turtle.begin_fill()         # 开始填充颜色turtle.circle(100)          # 画半径为100的圆   turtle.forward(30)          # 画完一个圆后,海龟向前移动30像素turtle.circle(100)          # 继续再画一个半径为100圆turtle.forward(30)          # 海龟再向前移动30像素turtle.circle(100)          # 最后再画一个圆。形成三圆交错效果。turtle.end_fill()           # 结束填充颜色### ② 画灯笼下面的长方形(长80,宽20)turtle.pencolor("#de0b02")  # 长方形描边 一种红色turtle.fillcolor("#ffbd11") # 长方形填充颜色,一种黄色turtle.begin_fill()turtle.forward(10)turtle.right(90)turtle.forward(20)  # 长方形的宽turtle.right(90)turtle.forward(80)  # 长方形的长turtle.right(90)turtle.forward(20)  # 长方形的宽turtle.right(90)turtle.forward(80)  # 长方形的长turtle.end_fill()# 海龟移动到上面,准备画上面的长方形turtle.penup()turtle.setheading(90)  # 假如你想让海龟向上走,但一时又想不明白是左还是右,就可以用setheading()turtle.forward(200)turtle.pendown()### ③ 画灯笼上面的长方形(长80,宽20)turtle.pencolor("#de0b02")   # 长方形描边,一种红色turtle.fillcolor("#ffbd11")  # 长方形填充颜色,一种黄色turtle.begin_fill()turtle.forward(20)    # 长方形的宽turtle.left(90)turtle.forward(80)    # 长方形的长turtle.left(90)turtle.forward(20)    # 长方形的宽turtle.left(90)turtle.forward(80)    # 长方形的长turtle.end_fill()### ④ 画提绳(长60,宽30)turtle.setheading(90)turtle.forward(20)turtle.setheading(180)turtle.forward(25)turtle.setheading(90)turtle.forward(60)      # 提绳的长turtle.setheading(180)turtle.forward(30)      # 提绳的宽turtle.setheading(-90)turtle.forward(60)# 海龟移动最下面,准备画掉穗turtle.penup()turtle.home()          # 让海龟返回原点(0,0)turtle.setheading(-90)turtle.forward(25)turtle.pendown()### ⑤ 画掉穗(从左至右画7条穗子)turtle.pencolor("#ffbd11")turtle.forward(60)       # 画第1穗turtle.backward(60)turtle.setheading(0)turtle.forward(10)turtle.setheading(-90)turtle.forward(90)      # 画第2穗turtle.backward(90)turtle.setheading(0)turtle.forward(10)turtle.setheading(-90)turtle.forward(120)     # 画第3穗turtle.backward(120)turtle.setheading(0)turtle.forward(10)turtle.setheading(-90)turtle.forward(150)     # 画第4穗(最中间的穗子)turtle.backward(150)turtle.setheading(0)turtle.forward(10)turtle.setheading(-90)turtle.forward(120)    # 画第5穗 (和第3穗一样长)turtle.backward(120)turtle.setheading(0)turtle.forward(10)turtle.setheading(-90)turtle.forward(90)     # 画第6穗(和第2穗一样长)turtle.backward(90)turtle.setheading(0)turtle.forward(10)turtle.setheading(-90)turtle.forward(60)     # 画第7穗(和第1穗一样长)turtle.backward(60)turtle.setheading(0)### ⑥ 写字“元宵节”turtle.penup()turtle.goto(8,120)turtle.write("元",font=("隶书",40))   # 写“春”turtle.pendown()turtle.penup()turtle.goto(8,70)turtle.write("宵",font=("隶书",40))   # 写“节”turtle.pendown()turtle.penup()turtle.goto(8,20)turtle.write("节",font=("隶书",40))   # 写“节”turtle.pendown()### ⑦ 画散落的圆点(6个圆点坐标要不同)# turtle.speed(1)       # 可减慢画图速度,观察调整圆的坐标位置turtle.penup()turtle.goto(-200,100)turtle.dot(26,"#de0b02") # 画第1个点turtle.pendown()turtle.penup()turtle.goto(-250,-100)turtle.dot(20,"#ffbd11") # 画第2个点turtle.pendown()turtle.penup()turtle.goto(200,-60)turtle.dot(30,"#de0b02") # 画第3个点turtle.pendown()turtle.penup()turtle.goto(180,180)turtle.dot(12,"#ffbd11") # 画第4个点turtle.pendown()turtle.penup()turtle.goto(-150,-170)turtle.dot(22,"#de0b02") # 画第5个点turtle.pendown()turtle.penup()turtle.goto(140,-150)turtle.dot(18,"#ffbd11")   # 画第6个点turtle.pendown()### 海龟结束画图,隐藏海龟turtle.hideturtle()turtle.done()

在这个团圆的时刻,愿大家的生活如元宵般甜蜜圆满。祝愿所有的数学建模爱好者们,在新的一年里能够解决更多的难题,取得更好的成绩。无论是竞赛还是研究,都能如愿以偿,实现自己的目标。

最后,再次祝大家元宵节快乐,家庭幸福,万事如意!

以赛辅练,更进一步提升专业能力,这个竞赛千万别错过!

由华罗庚教授发起学会——中国优选法统筹法与经济数学研究会主办的第十六届MathorCup数学应用挑战赛正在报名中!

竞赛信息

MathorCup数学应用挑战赛(原名:MathorCup高校数学建模挑战赛)是由国家一级学会——中国优选法统筹法与经济数学研究会主办的全国性竞赛,旨在促进产教融合,增强学科交叉,拓展参赛者的跨学科视野,提升参赛者运用数学方法和计算机技术解决实际应用问题的能力。

本竞赛迄今已举办了15届,近年来每届有上万支队伍参赛,是具有广泛影响力的竞赛。许多省市、高等院校和用人单位已将本竞赛的成绩作为考评和选拔人才的重要参考。

组织单位

主办单位:

中国优选法统筹法与经济数学研究会

中国优选法统筹法与经济数学研究会是在中国科学技术协会直接领导下的学术性社会团体,是国家一级学会。

学会由华罗庚教授于1981年发起成立,至今成立了评价方法与应用、项目管理、计算机模拟、统筹、管理决策与信息系统、工业工程、高等教育管理、数学教育、经济数学与管理数学、应急管理、灰色系统研究,复杂系统研究等十余个专业分会。

官方文件
< 左右滑动查看更多 >
竞赛报名

扫描下方二维码进行报名:

或复制下方链接进行报名:

https://www.saikr.com/vse/mathorcup2026?ces=Public

参赛对象

大赛面向中国及境外在校学生(包括研究生、本科生和专科生)与高校教师,具体要求如下:

(1)可以自由组队参赛,每个参赛队伍人数可为1–3人,每支队伍最多3名学生,允许跨年级、跨专业组队,但不允许跨校组队。

(2)教师参赛队必须以1名本校教师作为队长报名,另2名队员可以是本校教师或学生。

(3)参赛组别的确定依据是团队成员中的最高在读学历。

(4)每支队伍允许最多有一名指导老师,指导老师须为全职高校教师,队伍也可以没有指导老师。

时间安排

报名时间:

即日起至 2026年4月16日

竞赛时间:

2026年4月17日 8:00 至 4月21日 9:00

竞赛奖项

1.等级奖项:

本届竞赛实行赛区赛、国赛两级赛制;

赛区奖奖项:(本赛区总队数占比)

各赛区前20%推荐至全国奖项,不再参评赛区奖项;

  • 赛区一等奖(约15%)

  • 赛区二等奖(约25%)

  • 成功参赛奖(若干):成功提交论文的队伍即可获得。

全国奖奖项(推荐国奖总队数占比):

  • 全国一等奖(约25%)

  • 全国二等奖(约75%)

以上奖项均可获得纸质证书

获奖证书冠名为“2026年第十六届MathorCup数学应用挑战赛”荣誉证书,同时加盖“中国优选法统筹法与经济数学研究会”的公章。

2.MathorCup奖杯:

全国一等奖队伍中,每道赛题评出一支队伍,颁发“MathorCup”奖杯。

3.赛后研究基金:

获得“MathorCup”奖杯的队伍可优先申请赛后研究基金资助;获得全国一等奖的队伍也可申请赛后研究基金,经组委会审批后获得资助。资助强度为每队2万元人民币。获得资助的队伍需按照组委会的要求围绕赛题进行后续研究,将竞赛成果整理成论文发表或申请国家专利授权。

竞赛交流

参赛群1:1081273108

组委会官方QQ:2135234783

联系电话&微信:18210922591(郭老师)

竞赛邮箱:mathorcup@mathor.com

MathorCup公众号
组委会微信
BONUS TIME
文末福利

更多

↓↓

数学建模资料、视频讲解、历年赛题

后台回复 【校苑】领取

#
推荐阅读(点击下方图片即可跳转)

最新文章

随机文章