欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

【Python Turtle合集】有趣好玩的代码当然要分享给大家啦~(皮卡丘、玫瑰花、小黄人......)

发布时间:2025/3/21 python 75 豆豆
生活随笔 收集整理的这篇文章主要介绍了 【Python Turtle合集】有趣好玩的代码当然要分享给大家啦~(皮卡丘、玫瑰花、小黄人......) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

前言

🚀 作者 :“程序员梨子”

🚀 **文章简介 **:本篇文章主要是写了利用Turtle库绘制四种不一样的图案的小程序!

🚀 **文章源码免费获取 : 为了感谢每一个关注我的小可爱💓每篇文章的项目源码都是无

偿分享滴💓👇👇👇👇

点这里蓝色这行字体自取,需要什么源码记得说标题名字哈!私信我也可!

🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬

正文

今天给大家介绍一个好玩儿的库,嘻嘻!

Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵

轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从

而在它爬行的路径上绘制了图形。

1)佩奇

 代码展示——

import turtle as t t.pensize(4) t.hideturtle() t.colormode(255) t.color((255, 155, 192), "pink") t.setup(840, 500) t.speed(20) # 鼻子 t.pu() t.goto(-100, 100) t.pd() t.seth(-30) t.begin_fill() a = 0.4 for i in range(120):if 0 <= i < 30 or 60 <= i < 90:a = a + 0.08t.lt(3) # 向左转3度t.fd(a) # 向前走a的步长else:a = a - 0.08t.lt(3)t.fd(a) t.end_fill() t.pu() t.seth(90) t.fd(25) t.seth(0) t.fd(10) t.pd() t.pencolor(255, 155, 192) t.seth(10) t.begin_fill() t.circle(5) t.color(160, 82, 45) t.end_fill() t.pu() t.seth(0) t.fd(20) t.pd() t.pencolor(255, 155, 192) t.seth(10) t.begin_fill() t.circle(5) t.color(160, 82, 45) t.end_fill() # 头 t.color((255, 155, 192), "pink") t.pu() t.seth(90) t.fd(41) t.seth(0) t.fd(0) t.pd() t.begin_fill() t.seth(180) t.circle(300, -30) t.circle(100, -60) t.circle(80, -100) t.circle(150, -20) t.circle(60, -95) t.seth(161) t.circle(-300, 15) t.pu() t.goto(-100, 100) t.pd() t.seth(-30) a = 0.4 for i in range(60):if 0 <= i < 30 or 60 <= i < 90:a = a + 0.08t.lt(3) # 向左转3度t.fd(a) # 向前走a的步长else:a = a - 0.08t.lt(3)t.fd(a) t.end_fill() # 耳朵 t.color((255, 155, 192), "pink") t.pu() t.seth(90) t.fd(-7) t.seth(0) t.fd(70) t.pd() t.begin_fill() t.seth(100) t.circle(-50, 50) t.circle(-10, 120) t.circle(-50, 54) t.end_fill() t.pu() t.seth(90) t.fd(-12) t.seth(0) t.fd(30) t.pd() t.begin_fill() t.seth(100) t.circle(-50, 50) t.circle(-10, 120) t.circle(-50, 56) t.end_fill() # 眼睛 t.color((255, 155, 192), "white") t.pu() t.seth(90) t.fd(-20) t.seth(0) t.fd(-95) t.pd() t.begin_fill() t.circle(15) t.end_fill() t.color("black") t.pu() t.seth(90) t.fd(12) t.seth(0) t.fd(-3) t.pd() t.begin_fill() t.circle(3) t.end_fill() t.color((255, 155, 192), "white") t.pu() t.seth(90) t.fd(-25) t.seth(0) t.fd(40) t.pd() t.begin_fill() t.circle(15) t.end_fill() t.color("black") t.pu() t.seth(90) t.fd(12) t.seth(0) t.fd(-3) t.pd() t.begin_fill() t.circle(3) t.end_fill() # 腮 t.color((255, 155, 192)) t.pu() t.seth(90) t.fd(-95) t.seth(0) t.fd(65) t.pd() t.begin_fill() t.circle(30) t.end_fill() # 嘴 t.color(239, 69, 19) t.pu() t.seth(90) t.fd(15) t.seth(0) t.fd(-100) t.pd() t.seth(-80) t.circle(30, 40) t.circle(40, 80) # 身体 t.color("red", (255, 99, 71)) t.pu() t.seth(90) t.fd(-20) t.seth(0) t.fd(-78) t.pd() t.begin_fill() t.seth(-130) t.circle(100, 10) t.circle(300, 30) t.seth(0) t.fd(230) t.seth(90) t.circle(300, 30) t.circle(100, 3) t.color((255, 155, 192), (255, 100, 100)) t.seth(-135) t.circle(-80, 63) t.circle(-150, 24) t.end_fill() # 手 t.color((255, 155, 192)) t.pu() t.seth(90) t.fd(-40) t.seth(0) t.fd(-27) t.pd() t.seth(-160) t.circle(300, 15) t.pu() t.seth(90) t.fd(15) t.seth(0) t.fd(0) t.pd() t.seth(-10) t.circle(-20, 90) t.pu() t.seth(90) t.fd(30) t.seth(0) t.fd(237) t.pd() t.seth(-20) t.circle(-300, 15) t.pu() t.seth(90) t.fd(20) t.seth(0) t.fd(0) t.pd() t.seth(-170) t.circle(20, 90) # 脚 t.pensize(10) t.color((240, 128, 128)) t.pu() t.seth(90) t.fd(-75) t.seth(0) t.fd(-180) t.pd() t.seth(-90) t.fd(40) t.seth(-180) t.color("black") t.pensize(15) t.fd(20) t.pensize(10) t.color((240, 128, 128)) t.pu() t.seth(90) t.fd(40) t.seth(0) t.fd(90) t.pd() t.seth(-90) t.fd(40) t.seth(-180) t.color("black") t.pensize(15) t.fd(20) # 尾巴 t.pensize(4) t.color((255, 155, 192)) t.pu() t.seth(90) t.fd(70) t.seth(0) t.fd(95) t.pd() t.seth(0) t.circle(70, 20) t.circle(10, 330) t.circle(70, 30) t.exitonclick()

2)小黄人

 代码展示——

import turtle as t # t = turtle.Turtle() wn = t.Screen() t.colormode(255) t.hideturtle() t.speed(0) t.penup() t.pensize(4) t.goto(100,0) t.pendown() t.left(90) t.color((0,0,0),(255,255,0)) #身体绘制上色 t.begin_fill() t.forward(200) t.circle(100,180) t.forward(200) t.circle(100,180) t.end_fill() #右眼睛绘制上色 t.pensize(12) t.penup() t.goto(-100,200) t.pendown() t.right(100) t.circle(500,23) t.pensize(3) t.penup() t.goto(0,200) t.pendown() t.seth(270) t.color("black","white") t.begin_fill() t.circle(30) t.end_fill() t.penup() t.goto(15,200) t.pendown() t.color("black","black") t.begin_fill() t.circle(15) t.end_fill() t.penup() t.goto(35,205) t.color("black","white") t.begin_fill() t.circle(5) t.end_fill() #左眼睛绘制上色 t.pensize(3) t.penup() t.goto(0,200) t.pendown() t.seth(90) t.color("black","white") t.begin_fill() t.circle(30) t.end_fill() t.penup() t.goto(-15,200) t.pendown() t.color("black","black") t.begin_fill() t.circle(15) t.end_fill() t.penup() t.goto(-35,205) t.color("black","white") t.begin_fill() t.circle(5) t.end_fill() #嘴绘制上色 t.penup() t.goto(-20,100) t.pendown() t.seth(270) t.color("black","white") t.begin_fill() t.circle(20,180) t.left(90) t.forward(40) t.end_fill() #裤子绘制上色 t.penup() t.goto(-100,0) t.pendown() t.seth(0) t.color("black","blue") t.begin_fill() t.forward(20) t.left(90) t.forward(40) t.right(90) t.forward(160) t.right(90) t.forward(40) t.left(90) t.forward(20) t.seth(270) t.penup() t.goto(-100,0) t.circle(100,180) t.end_fill() #左裤子腰带 t.penup() t.goto(-70,20) t.pendown() t.color("black","blue") t.begin_fill() t.seth(45) t.forward(15) t.left(90) t.forward(60) t.seth(270) t.forward(15) t.left(40) t.forward(50) t.end_fill() t.left(180) t.goto(-70,30) t.dot() #右裤腰带 t.penup() t.goto(70,20) t.pendown() t.color("black","blue") t.begin_fill() t.seth(135) t.forward(15) t.right(90) t.forward(60) t.seth(270) t.forward(15) t.right(40) t.forward(50) t.end_fill() t.left(180) t.goto(70,30) t.dot() #脚 t.penup() t.goto(4,-100) t.pendown() t.seth(270) t.color("black","black") t.begin_fill() t.forward(30) t.left(90) t.forward(40) t.seth(20) t.circle(10,180) t.circle(400,2) t.seth(90) t.forward(20) t.goto(4,-100) t.end_fill() t.penup() t.goto(-4,-100) t.pendown() t.seth(270) t.color("black","black") t.begin_fill() t.forward(30) t.right(90) t.forward(40) t.seth(20) t.circle(10,-225) t.circle(400,-3) t.seth(90) t.forward(21) t.goto(-4,-100) t.end_fill() #左手 t.penup() t.goto(-100,50) t.pendown() t.seth(225) t.color("black","yellow") t.begin_fill() t.forward(40) t.left(90) t.forward(35) t.seth(90) t.forward(50) t.end_fill() #右手 t.penup() t.goto(100,50) t.pendown() t.seth(315) t.color("black","yellow") t.begin_fill() t.forward(40) t.right(90) t.forward(36) t.seth(90) t.forward(50) t.end_fill() # t.penup() t.goto(0,-100) t.pendown() t.forward(30) # t.penup() t.goto(0,-20) t.pendown() t.color("yellow") t.begin_fill() t.seth(45) t.forward(20) t.circle(10,180) t.right(90) t.circle(10,180) t.forward(20) t.end_fill() # t.penup() t.color("black") t.goto(-100,-20) t.pendown() t.circle(30,90) t.penup() t.goto(100,-20) t.pendown() t.circle(30,-90) #头顶 t.penup() t.goto(2,300) t.pendown() t.begin_fill() t.seth(135) t.circle(100,40) t.end_fill() t.penup() t.goto(2,300) t.pendown() t.begin_fill() t.seth(45) t.circle(100,40) t.exitonclick()

3)皮卡丘

 代码展示——

# 皮卡丘 # 基础设置 t.screensize(800, 600) t.pensize(2) # 设置画笔的大小 t.speed(10) # 设置画笔速度为10 # 画左偏曲线函数 def radian_left(ang, dis, step, n):for i in range(n):dis += step # dis增大stept.lt(ang) # 向左转ang度t.fd(dis) # 向前走dis的步长 def radian_right(ang, dis, step, n):for i in range(n):dis += stept.rt(ang) # 向左转ang度t.fd(dis) # 向前走dis的步长 # 画耳朵 def InitEars():t.color("black", "yellow")# 左耳朵曲线t.pu() # 提笔t.goto(-50, 100) # 笔头初始位置t.pd() # 下笔t.setheading(110) # 画笔角度t.begin_fill()radian_left(1.2, 0.4, 0.1, 40)t.setheading(270) # 画笔角度radian_left(1.2, 0.4, 0.1, 40)t.setheading(44) # 画笔角度t.forward(32)t.end_fill()# 右耳朵曲线t.pu() # 提笔t.goto(50, 100) # 笔头初始位置t.pd() # 下笔t.setheading(70) # 画笔角度t.begin_fill()radian_right(1.2, 0.4, 0.1, 40)t.setheading(270) # 画笔角度radian_right(1.2, 0.4, 0.1, 40)t.setheading(136) # 画笔角度t.forward(32)t.end_fill()# 耳朵黑t.begin_fill()t.fillcolor("black")t.pu() # 提笔t.goto(88, 141) # 笔头初始位置t.pd() # 下笔t.setheading(35) # 画笔角度radian_right(1.2, 1.6, 0.1, 16)t.setheading(270) # 画笔角度radian_right(1.2, 0.4, 0.1, 25)t.setheading(132) # 画笔角度t.forward(31)t.end_fill()t.begin_fill()t.fillcolor("black")t.pu() # 提笔t.goto(-88, 141) # 笔头初始位置t.pd() # 下笔t.setheading(145) # 画笔角度radian_left(1.2, 1.6, 0.1, 16)t.setheading(270) # 画笔角度radian_left(1.2, 0.4, 0.1, 25)t.setheading(48) # 画笔角度t.forward(31)t.end_fill() # 画尾巴 def InitTail():# 尾巴t.begin_fill()t.fillcolor("yellow")t.pu() # 提笔t.goto(64, -140) # 笔头初始位置t.pd() # 下笔t.setheading(10) # 画笔角度t.forward(20)t.setheading(90) # 画笔角度t.forward(20)t.setheading(10) # 画笔角度t.forward(10)t.setheading(80) # 画笔角度t.forward(100)t.setheading(35) # 画笔角度t.forward(80)t.setheading(260) # 画笔角度t.forward(100)t.setheading(205) # 画笔角度t.forward(40)t.setheading(260) # 画笔角度t.forward(37)t.setheading(205) # 画笔角度t.forward(20)t.setheading(260) # 画笔角度t.forward(25)t.setheading(175) # 画笔角度t.forward(30)t.setheading(100) # 画笔角度t.forward(13)t.end_fill() # 画脚 def InitFoots():# 脚t.begin_fill()t.fillcolor("yellow")t.pensize(2)t.pu() # 提笔t.goto(-70, -200) # 笔头初始位置t.pd() # 下笔t.setheading(225) # 画笔角度radian_left(0.5, 1.2, 0, 12)radian_left(35, 0.6, 0, 4)radian_left(1, 1.2, 0, 18)t.setheading(160) # 画笔角度t.forward(13)t.end_fill()t.begin_fill()t.fillcolor("yellow")t.pensize(2)t.pu() # 提笔t.goto(70, -200) # 笔头初始位置t.pd() # 下笔t.setheading(315) # 画笔角度radian_right(0.5, 1.2, 0, 12)radian_right(35, 0.6, 0, 4)radian_right(1, 1.2, 0, 18)t.setheading(20) # 画笔角度t.forward(13)t.end_fill() # 画身体 def InitBody():# 外形轮廓t.begin_fill()t.pu() # 提笔t.goto(112, 0) # 笔头初始位置t.pd() # 下笔t.setheading(90) # 画笔角度t.circle(112, 180)t.setheading(250) # 画笔角度radian_left(1.6, 1.3, 0, 50)radian_left(0.8, 1.5, 0, 25)t.setheading(255) # 画笔角度radian_left(0.4, 1.6, 0.2, 27)radian_left(2.8, 1, 0, 45)radian_right(0.9, 1.4, 0, 31)t.setheading(355) # 画笔角度radian_right(0.9, 1.4, 0, 31)radian_left(2.8, 1, 0, 45)radian_left(0.4, 7.2, -0.2, 27)t.setheading(10) # 画笔角度radian_left(0.8, 1.5, 0, 25)radian_left(1.6, 1.3, 0, 50)t.end_fill() def InitEyes():# 左眼睛t.begin_fill()t.fillcolor("black")t.pu() # 提笔t.goto(-46, 10) # 笔头初始位置t.pd() # 下笔t.setheading(90) # 画笔角度t.circle(5, 360)t.end_fill()# 右眼睛t.begin_fill()t.fillcolor("black")t.pu() # 提笔t.goto(46, 10) # 笔头初始位置t.pd() # 下笔t.setheading(-90) # 画笔角度t.circle(5, 360)t.end_fill() # 画脸 def InitFace():# 脸蛋t.begin_fill()t.fillcolor("red")t.pu() # 提笔t.goto(-63, -10) # 笔头初始位置t.pd() # 下笔t.setheading(90) # 画笔角度t.circle(10, 360)t.end_fill()t.begin_fill()t.fillcolor("red")t.pu() # 提笔t.goto(63, -10) # 笔头初始位置t.pd() # 下笔t.setheading(-90) # 画笔角度t.circle(10, 360)t.end_fill()# 嘴巴t.pensize(2.2)t.pu() # 提笔t.goto(0, 0) # 笔头初始位置t.pd() # 下笔t.setheading(235) # 画笔角度radian_right(5, 0.8, 0, 30)t.pu() # 提笔t.goto(0, 0) # 笔头初始位置t.pd() # 下笔t.setheading(305) # 画笔角度radian_left(5, 0.8, 0, 30) # 画手 def InitHands():# 左手t.pensize(2)t.pu() # 提笔t.goto(-46, -100) # 笔头初始位置t.pd() # 下笔t.setheading(285) # 画笔角度radian_right(0.4, 1.2, 0, 26)radian_right(5, 0.35, 0, 26)radian_right(0.3, 1.2, 0, 15)# 右手t.pu() # 提笔t.goto(46, -100) # 笔头初始位置t.pd() # 下笔t.setheading(255) # 画笔角度radian_left(0.4, 1.2, 0, 26)radian_left(5, 0.35, 0, 26)radian_left(0.3, 1.2, 0, 15) def CloseEyes():# 左眼睛t.pu() # 提笔t.goto(-46, 12) # 笔头初始位置t.pd() # 下笔t.setheading(180) # 画笔角度t.forward(10)# 右眼睛t.pu() # 提笔t.goto(46, 12) # 笔头初始位置t.pd() # 下笔t.setheading(0) # 画笔角度t.forward(10) # 初始化 def Init():InitEars()InitTail()InitFoots()InitBody()InitFace()InitHands()InitEyes() # 眨眼睛 def Upgarde():InitEars()InitTail()InitFoots()InitBody()InitFace()InitHands()CloseEyes() def Upgarde_Init():InitEars()InitTail()InitFoots()InitBody()InitFace()InitHands()InitEyes() def main():Init()t.tracer(False)# 眨眼睛动画for i in range(30):if i % 2 == 0:t.reset()t.hideturtle()Upgarde()t.update()time.sleep(0.3)else:t.reset()t.hideturtle()Upgarde_Init()t.update()time.sleep(1) main() # 结束画笔 t.done()

4)玫瑰花

 

代码展示——

import turtleturtle.speed(5)# 设置初始位置 turtle.penup() turtle.left(90) turtle.fd(200) turtle.pendown() turtle.right(90) # 花蕊 turtle.fillcolor("red") turtle.begin_fill() turtle.circle(10,180) turtle.circle(25,110) turtle.left(50) turtle.circle(60,45) turtle.circle(20,170) turtle.right(24) turtle.fd(30) turtle.left(10) turtle.circle(30,110) turtle.fd(20) turtle.left(40) turtle.circle(90,70) turtle.circle(30,150) turtle.right(30) turtle.fd(15) turtle.circle(80,90) turtle.left(15) turtle.fd(45) turtle.right(165) turtle.fd(20) turtle.left(155) turtle.circle(150,80) turtle.left(50) turtle.circle(150,90) turtle.end_fill() # 花瓣1 turtle.left(150) turtle.circle(-90,70) turtle.left(20) turtle.circle(75,105) turtle.setheading(60) turtle.circle(80,98) turtle.circle(-90,40) # 花瓣2 turtle.left(180) turtle.circle(90,40) turtle.circle(-80,98) turtle.setheading(-83) # 叶子1 turtle.fd(30) turtle.left(90) turtle.fd(25) turtle.left(45) turtle.fillcolor("green") turtle.begin_fill() turtle.circle(-80,90) turtle.right(90) turtle.circle(-80,90) turtle.end_fill() turtle.right(135) turtle.fd(60) turtle.left(180) turtle.fd(85) turtle.left(90) turtle.fd(80) # 叶子2 turtle.right(90) turtle.right(45) turtle.fillcolor("green") turtle.begin_fill() turtle.circle(80,90) turtle.left(90) turtle.circle(80,90) turtle.end_fill() turtle.left(135) turtle.fd(60) turtle.left(180) turtle.fd(60) turtle.right(90) turtle.circle(200,60)

总结

效果很不错滴,感兴趣的朋友可以试试啦~

关注小编获取更多精彩内容!源码记得点击传送门哈👇👇👇👇

记得三连哦! 如需打包好的源码+素材免费分享滴!传送门

总结

以上是生活随笔为你收集整理的【Python Turtle合集】有趣好玩的代码当然要分享给大家啦~(皮卡丘、玫瑰花、小黄人......)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。