用户:
Pumpkinnnn查看:0 回复:1 评论:0 创建时间:2021-08-05T22:15:36
【作品展示】

【作品介绍】
在原来的作品基础上增加了人工交互,通过这个功能可以让大家看到不同动物的明信片版式,以增加惊喜感
【作品源代码】
import turtle
import random
turtle.bgcolor("lightblue")
p=turtle.Pen()
s=turtle.Screen()
p.speed(0)
def moveto(x,y):
p.penup()
p.goto(x,y)
p.pendown()
moveto(-250,300)
p.pencolor("darkblue")
p.write("欢迎来到长隆野生动物园!",font=("文泉驿正黑",50))
moveto(-450,200)
#body(train1)
p.begin_fill()
p.fillcolor("gold")
for i in range(4):
p.right(90)
p.forward(200)
p.end_fill()
p.begin_fill()
p.fillcolor("darkred")
p.forward(50)
p.left(150)
p.forward(180)
p.left(60)
p.forward(180)
p.left(150)
p.forward(80)
p.end_fill()
#part1
p.penup()
p.right(90)
p.forward(15)
p.pendown()
p.begin_fill()
p.fillcolor("skyblue")
p.forward(80)
p.left(90)
p.forward(50)
p.left(90)
p.forward(80)
p.left(90)
p.forward(50)
#part2
p.penup()
p.right(180)
p.forward(100)
p.pendown()
p.right(90)
p.forward(80)
p.left(90)
p.forward(50)
p.left(90)
p.forward(80)
p.left(90)
p.forward(50)
p.end_fill()
#wheels
p.penup()
p.left(90)
p.forward(255)
p.left(90)
p.forward(30)
p.pendown()
p.begin_fill()
p.fillcolor("black")
p.circle(35)
p.end_fill()
p.begin_fill()
p.fillcolor("white")
p.penup()
p.left(90)
p.forward(18)
p.right(90)
p.pendown()
p.circle(15)
p.end_fill()
p.penup()
p.backward(90)
p.right(90)
p.forward(18)
p.left(90)
p.pendown()
p.begin_fill()
p.fillcolor("black")
p.circle(35)
p.end_fill()
p.penup()
p.left(90)
p.forward(18)
p.right(90)
p.pendown()
p.begin_fill()
p.fillcolor("white")
p.circle(15)
p.end_fill()
moveto(-450,80)
p.goto(600,-130)
#body(train2)
p.begin_fill()
p.fillcolor("gold")
for i in range(4):
p.right(90)
p.forward(200)
p.end_fill()
p.begin_fill()
p.fillcolor("darkred")
p.forward(50)
p.left(150)
p.forward(180)
p.left(60)
p.forward(180)
p.left(150)
p.forward(80)
p.end_fill()
#part1
p.penup()
p.right(90)
p.forward(15)
p.pendown()
p.begin_fill()
p.fillcolor("skyblue")
p.forward(80)
p.left(90)
p.forward(50)
p.left(90)
p.forward(80)
p.left(90)
p.forward(50)
#part2
p.penup()
p.right(180)
p.forward(100)
p.pendown()
p.right(90)
p.forward(80)
p.left(90)
p.forward(50)
p.left(90)
p.forward(80)
p.left(90)
p.forward(50)
p.end_fill()
#wheels
p.penup()
p.left(90)
p.forward(255)
p.left(90)
p.forward(30)
p.pendown()
p.begin_fill()
p.fillcolor("black")
p.circle(35)
p.end_fill()
p.begin_fill()
p.fillcolor("white")
p.penup()
p.left(90)
p.forward(18)
p.right(90)
p.pendown()
p.circle(15)
p.end_fill()
p.penup()
p.backward(90)
p.right(90)
p.forward(18)
p.left(90)
p.pendown()
p.begin_fill()
p.fillcolor("black")
p.circle(35)
p.end_fill()
p.penup()
p.left(90)
p.forward(18)
p.right(90)
p.pendown()
p.begin_fill()
p.fillcolor("white")
p.circle(15)
p.end_fill()
#panda(head)
p.pencolor("black")
p.penup()
p.goto(-550,-160)
p.pendown()
p.dot(40)
p.penup()
p.goto(-480, -130)
p.pendown()
p.dot(40)
p.penup()
p.goto(-500, -180)
p.pendown()
p.pencolor("white")
p.dot(100)
#panda(eyes)
p.pencolor("black")
p.penup()
p.goto(-520,-180)
p.pendown()
p.dot(35)
p.penup()
p.goto(-484,-1喵)
p.pendown()
p.dot(35)
p.pencolor("white")
p.penup()
p.goto(-488, -168)
p.pendown()
p.dot(10)
p.penup()
p.goto(-514,-180)
p.pendown()
p.dot(10)
p.pencolor("black")
p.penup()
p.goto(-450,-180)
p.pendown()
p.pensize(10)
p.forward(800)
p.right(90)
p.forward(180)
p.right(90)
p.forward(1050)
p.right(90)
p.forward(180)
p.right(90)
p.forward(148)
moveto(-650,-220)
p.write("大熊猫(学名:Ailuropoda melanoleuca):属于食肉目、熊科、大熊猫亚科和大熊猫属唯一的哺乳动物。",
font=("文泉驿正黑", 20))
moveto(-650,-250)
p.write("仅有二个亚种。雄性个体稍大于雌性。体型肥硕似熊、丰腴富态,头圆尾短,头躯长1.2-1.8米,尾长10-",
font=("文泉驿正黑", 20))
moveto(-650, -280)
p.write("12厘米。体重80-120千克,最重可达180千克,体色为黑白两色,脸颊圆,有很大的黑眼圈,标志性的",
font=("文泉驿正黑", 20))
moveto(-650, -310)
p.write("内八字的行走方式,也有解剖刀般锋利的爪子。大熊猫皮肤厚,最厚处可达10毫米。黑白相间的外表,喵,
font=("文泉驿正黑", 20))
moveto(-650, -340)
p.write("利于隐蔽在密林的树上和积雪的地面而不易被天敌发现。",
font=("文泉驿正黑", 20))
p.pencolor("lightpink")
moveto(-430, 50)
p.goto(330,-110)
p.left(90)
p.back(50)
p.right(90)
p.back(760)
p.left(90)
p.forward(205)
p.right(90)
#koala(face)
moveto(0,0)
p.pencolor("gray")
p.dot(200)
p.pencolor("black")
p.pu()
p.backward(40)
p.pd()
p.dot(20)
p.pencolor("white")
p.pu()
p.backward(5)
p.pd()
p.dot(5)
p.pu()
p.forward(100)
p.pd()
p.pencolor("black")
p.dot(20)
p.pu()
p.backward(5)
p.pd()
p.pencolor("white")
p.dot(5)
#koala(mouth)
p.pencolor("black")
p.penup()
p.goto(-10, -50)
p.pensize(1)
p.fillcolor("black")
p.setheading(-90)
p.pendown()
p.begin_fill()
p.circle(15, 180)
for i in range(10):
p.forward(3)
p.left(7)
p.left(20)
p.backward(2)
p.left(20)
for i in range(10):
p.forward(3)
p.left(7)
p.end_fill()
#koala(ears)
p.pu()
p.back(100)
p.left(90)
p.back(70)
p.pd()
p.pencolor("gray")
p.dot(110)
p.pu()
p.forward(175)
p.pendown()
p.dot(105)
p.penup()
p.goto(-420,10)
p.pendown()
p.pencolor("black")
p.write("树袋熊",
font=("文泉驿正黑", 20))
p.penup()
p.goto(-420, -20)
p.pendown()
p.write("(学名:Phascolarctos cinereus)",
font=("文泉驿正黑", 20))
p.penup()
p.goto(-420, -50)
p.write("是树袋熊科、树袋熊属动物,体形肥胖,",
font=("文泉驿正黑", 20))
p.penup()
p.goto(-411, -80)
p.write("毛又乱又厚,没有尾巴。成年树袋熊体长约70-80厘米,",
font=("文泉驿正黑", 20))
p.penup()
p.goto(-420, -110)
p.write("体重10千克左右,身体为浅灰色到浅黄色,腹部周围的颜色相对较亮,",
font=("文泉驿正黑", 20))
p.penup()
p.goto(-420, -140)
p.pd()
p.write("鼻子光秃秃的,大而圆,脑袋圆滚滚的,耳朵上的毛十分蓬松,善于攀缘。",
font=("文泉驿正黑", 20))
moveto(500,300)
p.pensize(10)
p.forward(150)
p.left(135)
p.forward(10)
moveto(650,300)
p.right(135)
p.right(135)
p.forward(10)
p.left(135)
moveto(670,300)
p.write("E",
font=("文泉驿正黑", 50))
moveto(575, 300)
p.left(90)
p.forward(75)
p.left(135)
p.forward(10)
moveto(575,375)
p.right(135)
p.right(135)
p.forward(10)
p.left(135)
moveto(595,345)
p.write("N",
font=("文泉驿正黑", 50))
moveto(575, 375)
p.back(150)
p.pensize(5)
p.pencolor("darkgreen")
moveto(400,40)
p.forward(90)
p.left(90)
p.forward(700)
p.right(90)
p.forward(160)
p.right(90)
p.forward(80)
moveto(420,40)
p.goto(420,140)
p.goto(-280,140)
p.goto(-280,280)
p.goto(-220,280)
moveto(380,0)
p.write("南门",
font=("文泉驿正黑", 30))
moveto(-200,280)
p.pencolor("red")
p.begin_fill()
p.fillcolor("red")
for i in range(5):
p.forward(30)
p.right(150)
p.end_fill()
p.left(30)
moveto(-200,240)
p.pencolor("cornflowerblue")
p.begin_fill()
p.fillcolor("cornflowerblue")
p.forward(100)
p.right(60)
p.forward(30)
p.right(60)
p.forward(30)
p.left(120)
p.back(100)
p.left(90)
p.forward(50)
p.end_fill()
moveto(-195,200)
p.pencolor("darkblue")
p.write("长隆大熊猫",
font=("文泉驿正黑", 20))
moveto(20,300)
p.pencolor("cornflowerblue")
p.begin_fill()
p.fillcolor("cornflowerblue")
p.back(50)
p.right(90)
p.back(100)
p.left(120)
p.forward(30)
p.right(60)
p.forward(30)
p.right(60)
p.forward(100)
p.end_fill()
moveto(-55,265)
p.pencolor("darkblue")
p.write("考拉园",
font=("文泉驿正黑", 20))
moveto(50,220)
p.pencolor("cornflowerblue")
p.begin_fill()
p.fillcolor("cornflowerblue")
p.forward(100)
p.right(60)
p.forward(30)
p.right(60)
p.forward(30)
p.left(120)
p.back(100)
p.left(90)
p.forward(50)
p.end_fill()
moveto(60, 180)
p.pencolor("darkblue")
p.write("非洲部落",
font=("文泉驿正黑", 20))
p.right(90)
moveto(600,80)
p.pencolor("darkgreen")
p.pensize(10)
p.left(90)
p.backward(170)
p.goto(600, 80)
p.right(90)
p.pencolor("coral")
p.pensize(3)
def 喵():
for i in range(4):
p.forward(20)
p.left(90)
for i in range(4):
p.forward(50)
p.left(90)
for i in range(4):
p.forward(60)
p.left(90)
for i in range(45):
p.left(360/45)
喵()
p.pencolor("darkgreen")
p.pensize(10)
p.left(90)
p.penup()
p.back(130)
p.pd()
p.goto(540, 60)
p.right(90)
p.pencolor("gold")
p.pensize(3)
def 喵():
for i in range(4):
p.forward(3)
p.left(90)
for i in range(4):
p.forward(15)
p.left(90)
for i in range(4):
p.forward(35)
p.left(90)
for i in range(30):
p.left(360/30)
喵()
p.hideturtle()
content=s.textinput("选择想查看的动物明信片","熊猫or考拉")
if content=="熊猫":
p.clear()
turtle.bgcolor("white")
turtle.title("熊猫宝宝")
turtle.shape("classic")
p.pensize(3)
p.pencolor("black")
p.fillcolor("black")
turtle.speed(100)
p.hideturtle()
#左耳
p.penup()
p.goto(-105, 97)
p.setheading(160)
p.begin_fill()
p.pendown()
p.circle(-30, 230)
p.setheading(180)
p.circle(37, 90)
p.end_fill()
#右耳
p.penup()
p.goto(105, 97)
p.setheading(20)
p.begin_fill()
p.pendown()
p.circle(30, 230)
p.setheading(0)
p.circle(-37, 90)
p.end_fill()
#头部轮廓
p.penup()
p.goto(-67, 140)
p.setheading(30)
p.pendown()
p.circle(-134, 60)
p.penup()
p.goto(-50, -25)
p.setheading(180)
p.pendown()
p.circle(-100, 30)
p.circle(-30, 90)
p.setheading(100)
p.circle(-200, 20)
p.penup()
p.goto(50, -25)
p.setheading(0)
p.pendown()
p.circle(100, 30)
p.circle(30, 90)
p.setheading(80)
p.circle(200, 20)
#两熊猫眼
#左眼
p.penup()
p.goto(-90, 25)
p.setheading(-45)
p.begin_fill()
p.pendown()
#椭圆绘制技巧
a = 0.2
for i in range(120):
if 0 <= i < 30 or 60 <= i < 90:
a = a+0.1
p.lt(3) # 向左转3度
p.fd(a) # 向前走a的步长
else:
a = a-0.1
p.lt(3)
p.fd(a)
p.end_fill()
p.fillcolor("white")
p.penup()
p.goto(-53, 43)
p.setheading(0)
p.begin_fill()
p.pendown()
p.circle(13, 360)
p.end_fill()
p.penup()
p.pensize(4)
p.goto(-60, 57)
p.setheading(30)
p.pendown()
p.circle(-12, 60)
#右眼
p.penup()
p.goto(90, 25)
p.setheading(45)
p.pensize(2)
p.fillcolor("black")
p.begin_fill()
p.pendown()
#椭圆绘制技巧
a = 0.2
for i in range(120):
if 0 <= i < 30 or 60 <= i < 90:
a = a+0.1
p.lt(3) # 向左转3度
p.fd(a) # 向前走a的步长
else:
a = a-0.1
p.lt(3)
p.fd(a)
p.end_fill()
turtle.fillcolor("white")
turtle.penup()
turtle.goto(53, 43)
turtle.setheading(0)
turtle.begin_fill()
turtle.pendown()
turtle.circle(13, 360)
turtle.end_fill()
turtle.penup()
turtle.pensize(4)
turtle.goto(60, 57)
turtle.setheading(150)
turtle.pendown()
turtle.circle(12,60)
#鼻子和嘴巴
turtle.penup()
turtle.goto(-16, 20)
turtle.setheading(-90)
turtle.fillcolor("black")
turtle.begin_fill()
turtle.pendown()
a = 0.2
for i in range(120):
if 0 <= i < 30 or 60 <= i < 90:
a = a + 0.03
turtle.lt(3)
turtle.fd(a)
else:
a = a - 0.03
turtle.lt(3)
turtle.fd(a)
turtle.end_fill()
turtle.penup()
turtle.goto(-24, 0)
turtle.setheading(-60)
turtle.pendown()
turtle.circle(28, 120)
#熊喵
#左肢
turtle.penup()
turtle.goto(-65, -24)
turtle.setheading(-140)
turtle.begin_fill()
turtle.pendown()
turtle.circle(100, 40)
turtle.setheading(180)
turtle.circle(30, 40)
turtle.setheading(-40)
turtle.circle(40, 40)
turtle.setheading(-150)
a = 0.5
for i in range(120):
if 0 <= i < 30 or 60 <= i < 90:
a = a+0.05
turtle.lt(3)
turtle.fd(a)
elif 30 <= i < 60 or 90 <= i < 100:
a = a-0.05
turtle.lt(3)
turtle.fd(a)
turtle.setheading(93)
turtle.circle(-150, 30)
turtle.end_fill()
turtle.penup()
turtle.goto(-85, -115)
turtle.setheading(-150)
turtle.color("gray", "gray")
turtle.begin_fill()
turtle.pendown()
a = 0.3
for i in range(120):
if 0 <= i < 30 or 60 <= i < 90:
a = a+0.03
turtle.lt(3)
turtle.fd(a)
else:
a = a-0.03
turtle.lt(3)
turtle.fd(a)
turtle.end_fill()
#每个脚趾绘制函数
def toe(x, y):
turtle.begin_fill()
turtle.goto(x, y)
turtle.circle(3, 360)
turtle.end_fill()
turtle.penup()
toe(-98, -120)
toe(-96, -110)
toe(-88, -105)
toe(-80, -105)
#右肢
turtle.color("black")
turtle.penup()
turtle.goto(65, -24)
turtle.setheading(-40)
turtle.begin_fill()
turtle.pendown()
turtle.circle(-100, 40)
turtle.setheading(0)
turtle.circle(-30, 40)
turtle.setheading(-140)
turtle.circle(-40, 40)
turtle.setheading(-30)
a = 0.5
for i in range(120):
if 0 <= i < 30 or 60 <= i < 90:
a = a+0.05
turtle.rt(3)
turtle.fd(a)
elif 30 <= i < 60 or 90 <= i < 100:
a = a-0.05
turtle.rt(3)
turtle.fd(a)
turtle.setheading(87)
turtle.circle(150, 30)
turtle.end_fill()
turtle.penup()
turtle.goto(85, -115)
turtle.setheading(150)
turtle.color("gray", "gray")
turtle.begin_fill()
turtle.pendown()
a = 0.3
for i in range(120):
if 0 <= i < 30 or 60 <= i < 90:
a = a+0.03
turtle.lt(3)
turtle.fd(a)
else:
a = a-0.03
turtle.lt(3)
turtle.fd(a)
turtle.end_fill()
turtle.penup()
toe(98, -120)
toe(96, -110)
toe(88, -105)
toe(80, -105)
turtle.goto(-57, -140)
turtle.color("black")
turtle.setheading(-20)
turtle.pendown()
turtle.circle(165, 40)
turtle.penup()
turtle.goto(0, 180)
turtle.write("Pandas are the most lovely animals",
align="center", font=("Times", 18, "bold"))
turtle.pendown()
turtle.hideturtle()
turtle.done()
if content == "考拉":
p.clear()
def tree(x, y):
p.penup()
p.goto(x,y)
p.pendown()
p.pensize(25)
p.pencolor("brown")
p.left(90)
p.backward(200)
p.forward(200)
p.begin_fill()
p.fillcolor("darkgreen")
p.pencolor("darkgreen")
p.pensize(2)
p.right(90)
p.forward(100)
p.left(135)
p.forward(130)
p.right(135)
p.forward(80)
p.left(135)
p.forward(110)
p.right(135)
p.forward(50)
p.left(135)
p.forward(90)
p.left(90)
p.forward(90)
p.right(45)
p.back(50)
p.left(45)
p.forward(110)
p.right(45)
p.back(80)
p.left(45)
p.forward(130)
p.right(45)
p.back(100)
p.end_fill()
tree(0,0)
tree(100,0)
tree(200,0)
tree(300,0)
p.penup()
p.goto(-200,-50)
p.pendown()
p.write("Koalas like eating leaves best",
align="center", font=("Times", 18, "bold"))
p.hideturtle()
turtle.done()
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn