千家信息网

Python怎么利用Turtle绘制哆啦A梦和小猪佩奇

发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,今天小编给大家分享一下Python怎么利用Turtle绘制哆啦A梦和小猪佩奇的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章
千家信息网最后更新 2024年11月23日Python怎么利用Turtle绘制哆啦A梦和小猪佩奇

今天小编给大家分享一下Python怎么利用Turtle绘制哆啦A梦和小猪佩奇的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

1.哆啦A梦

"只要把愿望系在竹竿上请求月亮女神,心愿便能达成"。我超喜欢这句话。

哆啦A梦的创造要追溯到1969年的某个截稿日,作者藤子·F·不二雄的家里突然闯进了一只小猫,虽然很快就要截稿了,但作者还是和小猫玩了起来,还替小猫挠虱子,而这一挠就是几个小时。等作者发现时间不够用的时候,已经来不及完成稿子。这时作者像热锅上的蚂蚁走来走去,突然踢到了女儿的不倒翁玩具,于是作者灵光一现,把猫的形象和不倒翁结合起来,就创造了哆啦A梦。

2.小猪佩奇

对比于国内的《喜羊羊与灰太狼》和《熊出没》,我希望有一天喜羊羊被灰太狼炖了、熊大被光头强一枪打中,然后直接卖到动物园。(哈哈哈......)可是这个想法一直没实现,有些失落。还是看小猪佩奇吧:

由英国E1 Kids于2004年5月31日发行首播后,其动画片已于全球180个地区播放,现已播出6季;

中国中央电视台少儿频道也在热播之中,极简的动画风格,幽默的对话语调,深具教育意义的故事情节,不仅能让学龄前儿童学习知识,更能让小朋友们从小养成良好的生活习惯体验生活,深受全球各地小朋友们以及其家长们的喜爱。

3.Python代码实现(哆啦A梦)

import turtle as tt.title('哆啦A梦')# t.speed(5)t.pensize(8)t.hideturtle()t.screensize(500, 500, bg='white') """猫脸"""t.fillcolor('#00A1E8')t.begin_fill()t.circle(120)t.end_fill()t.pensize(3)t.fillcolor('white')t.begin_fill()t.circle(100)t.end_fill()t.pu()t.home()t.goto(0, 134)t.pd()t.pensize(4)t.fillcolor("#EA0014")t.begin_fill()t.circle(18)t.end_fill()t.pu()t.goto(7, 155)t.pensize(2)t.color('white', 'white')t.pd()t.begin_fill()t.circle(4)t.end_fill()t.pu()t.goto(-30, 160)t.pensize(4)t.pd()t.color('black', 'white')t.begin_fill()a = 0.4for i in range(120):    if 0 <= i < 30 or 60 <= i < 90:        a = a + 0.08        t.lt(3)  # 向左转3度        t.fd(a)  # 向前走a的步长    else:        a = a - 0.08        t.lt(3)        t.fd(a)t.end_fill()t.pu()t.goto(30, 160)t.pensize(4)t.pd()t.color('black', 'white')t.begin_fill()for i in range(120):    if 0 <= i < 30 or 60 <= i < 90:        a = a + 0.08        t.lt(3)  # 向左转3度        t.fd(a)  # 向前走a的步长    else:        a = a - 0.08        t.lt(3)        t.fd(a)t.end_fill()t.pu()t.goto(-38, 190)t.pensize(8)t.pd()t.right(-30)t.forward(15)t.right(70)t.forward(15)t.pu()t.goto(15, 185)t.pensize(4)t.pd()t.color('black', 'black')t.begin_fill()t.circle(13)t.end_fill()t.pu()t.goto(13, 190)t.pensize(2)t.pd()t.color('white', 'white')t.begin_fill()t.circle(5)t.end_fill()t.pu()t.home()t.goto(0, 134)t.pensize(4)t.pencolor('black')t.pd()t.right(90)t.forward(40)t.pu()t.home()t.goto(0, 124)t.pensize(3)t.pencolor('black')t.pd()t.left(10)t.forward(80)t.pu()t.home()t.goto(0, 114)t.pensize(3)t.pencolor('black')t.pd()t.left(6)t.forward(80)t.pu()t.home()t.goto(0, 104)t.pensize(3)t.pencolor('black')t.pd()t.left(0)t.forward(80)"""左边的胡子"""t.pu()t.home()t.goto(0, 124)t.pensize(3)t.pencolor('black')t.pd()t.left(170)t.forward(80)t.pu()t.home()t.goto(0, 114)t.pensize(3)t.pencolor('black')t.pd()t.left(174)t.forward(80)t.pu()t.home()t.goto(0, 104)t.pensize(3)t.pencolor('black')t.pd()t.left(180)t.forward(80)t.pu()t.goto(-70, 70)t.pd()t.color('black', 'red')t.pensize(6)t.seth(-60)t.begin_fill()t.circle(80, 40)t.circle(80, 80)t.end_fill()t.pu()t.home()t.goto(-80, 70)t.pd()t.forward(160)t.pu()t.home()t.goto(-50, 50)t.pd()t.pensize(1)t.fillcolor("#eb6e1a")t.seth(40)t.begin_fill()t.circle(-40, 40)t.circle(-40, 40)t.seth(40)t.circle(-40, 40)t.circle(-40, 40)t.seth(220)t.circle(-80, 40)t.circle(-80, 40)t.end_fill()# 领带t.pu()t.goto(-70, 12)t.pensize(14)t.pencolor('red')t.pd()t.seth(-20)t.circle(200, 30)t.circle(200, 10)"""铃铛"""t.pu()t.goto(0, -46)t.pd()t.pensize(3)t.color("black", '#f8d102')t.begin_fill()t.circle(25)t.end_fill()t.pu()t.goto(-5, -40)t.pd()t.pensize(2)t.color("black", '#79675d')t.begin_fill()t.circle(5)t.end_fill()t.pensize(3)t.right(115)t.forward(7)t.mainloop()

4.Python代码实现(小猪佩奇 )

 import turtlefrom turtle import *turtle.title('小猪佩奇') def nose(x,y):    """画鼻子"""    pensize(5)    pencolor((255, 155, 192))    penup()    # 将海龟移动到指定的坐标    goto(x,y)    pendown()    # 设置海龟的方向(0-东、90-北、180-西、270-南)    setheading(-30)    begin_fill()    fillcolor(255, 192, 203)    a = 0.4    for i in range(120):        if 0 <= i < 30 or 60 <= i <90:            a = a + 0.08            # 向左转3度            left(3)            # 向前走            forward(a)        else:            a = a - 0.08            left(3)            forward(a)    end_fill()    penup()    setheading(90)    forward(25)    setheading(0)    forward(10)    pendown()    """设置画笔的颜色(红, 绿, 蓝)"""    pencolor(255, 155, 192)    setheading(10)    begin_fill()    circle(5)    color(160, 82, 45)    end_fill()    penup()    setheading(0)    forward(20)    pendown()    pencolor(255, 155, 192)    setheading(10)    begin_fill()    circle(5)    color(160, 82, 45)    end_fill()  def head(x, y):    """画头"""    color((255, 155, 192), "pink")    penup()    goto(x,y)    setheading(0)    pendown()    begin_fill()    setheading(180)    circle(300, -30)    circle(100, -60)    circle(80, -100)    circle(150, -20)    circle(60, -95)    setheading(161)    circle(-300, 15)    penup()    goto(-100, 100)    pendown()    setheading(-30)    a = 0.4    for i in range(60):        if 0<= i < 30 or 60 <= i < 90:            a = a + 0.08            lt(3) #向左转3度            fd(a) #向前走a的步长        else:            a = a - 0.08            lt(3)            fd(a)    end_fill()  def ears(x,y):    """画耳朵"""    color((255, 155, 192), "pink")    penup()    goto(x, y)    pendown()    begin_fill()    setheading(100)    circle(-50, 50)    circle(-10, 120)    circle(-50, 54)    end_fill()    penup()    setheading(90)    forward(-12)    setheading(0)    forward(30)    pendown()    begin_fill()    setheading(90)    circle(-50, 50)    circle(-10, 120)    circle(-50, 56)    end_fill()  def eyes(x,y):    """画眼睛"""    color((255, 155, 192), "white")    penup()    setheading(90)    forward(-20)    setheading(0)    forward(-95)    pendown()    begin_fill()    circle(15)    end_fill()    color("black")    penup()    setheading(90)    forward(12)    setheading(0)    forward(-3)    pendown()    begin_fill()    circle(3)    end_fill()    color((255, 155, 192), "white")    penup()    seth(90)    forward(-25)    seth(0)    forward(40)    pendown()    begin_fill()    circle(15)    end_fill()    color("black")    penup()    setheading(90)    forward(12)    setheading(0)    forward(-3)    pendown()    begin_fill()    circle(3)    end_fill()  def cheek(x,y):    """画脸颊"""    color((255, 155, 192))    penup()    goto(x,y)    pendown()    setheading(0)    begin_fill()    circle(30)    end_fill()  def mouth(x,y):    """画嘴巴"""    color(239, 69, 19)    penup()    goto(x, y)    pendown()    setheading(-80)    circle(30, 40)    circle(40, 80) def body(x,y):    '''画身体'''    penup()    goto(x,y)    pencolor('red')    fillcolor(250,106,106)    pendown()    begin_fill()    setheading(-66)    circle(-450,17)    setheading(180)    forward(185)    setheading(85)    circle(-450,17)    end_fill()    '''右手'''    penup()    goto(110,-45)    pendown()    pensize(8)    pencolor(255, 192, 203)    setheading(30)    circle(-400,10)    penup()    goto(167,-5)    pendown()    setheading(-120)    forward(20)    left(100)    forward(20)    '''左手'''    penup()    goto(-25,-45)    pendown()    pencolor(255, 192, 203)    setheading(150)    circle(400,10)    penup()    goto(-78,-6)    pendown()    setheading(-60)    forward(20)    right(100)    forward(20) def feet1(x,y):    pensize(7)    pencolor(255, 192, 203)    penup()    goto(x,y)    setheading(-90)    pendown()    forward(10)    penup()    goto(x-12,y-10)    pendown()    pencolor(238,201,0)    fillcolor(238,230,132)    begin_fill()    setheading(0)    forward(24)    right(90)    forward(36)    right(90)    forward(40)    circle(-10,180)    forward(16)    left(90)    forward(12)    end_fill() def feet2(x,y):    pensize(7)    pencolor(255, 192, 203)    penup()    goto(x,y)    setheading(-90)    pendown()    forward(10)    penup()    goto(x-12,y-10)    pendown()    pencolor(238,201,0)    fillcolor(238,230,132)    begin_fill()    setheading(0)    forward(24)    right(90)    forward(36)    right(90)    forward(40)    circle(-10,180)    forward(16)    left(90)    forward(12)    end_fill() def tail(x,y):    pensize(8)    penup()    goto(x,y)    pendown()    pencolor(255, 192, 203)    setheading(-5)    circle(30,100)    circle(10,180)    circle(20,150) def backg(x):    penup()    goto(-420,x)    setheading(0)    fillcolor(50,205,50)    begin_fill()    forward(840)    right(90)    forward(300)    right(90)    forward(840)    right(90)    forward(300)    end_fill()    setheading(0)    fillcolor(0,191,255)    begin_fill()    forward(840)    left(90)    forward(600)    left(90)    forward(840)    left(90)    forward(600)    end_fill() def cloude1(x, y):    """画云"""    penup()    goto(x,y)    setheading(90)    fillcolor(255,255,255)    begin_fill()    a = 0.4    for i in range(120):        if 0 <= i < 30 or 60 <= i <90:            a = a + 0.14            # 向左转3度            left(3)            # 向前走            forward(a)        else:            a = a - 0.15            left(3)            forward(a)    end_fill() def cloude2(x, y):    """画云"""    penup()    goto(x,y)    setheading(90)    fillcolor(255,255,255)    begin_fill()    a = 0.4    for i in range(120):        if 0 <= i < 30 or 60 <= i <90:            a = a + 0.15            # 向左转3度            left(3)            # 向前走            forward(a)        else:            a = a - 0.13            left(3)            forward(a)    end_fill() def setting():    """设置参数"""    pensize(5)    # 隐藏海龟    hideturtle()    colormode(255)    color((255, 155, 192), "pink")    setup(840, 700)    speed(10)  def main():    """主函数"""        setting()     backg(0)    body(105,-20)    nose(-100, 100)    head(-69, 167)    ears(0, 160)    eyes(0, 140)    cheek(80, 10)    mouth(-20, 30)    feet1(10,-150)    feet2(90,-150)    tail(130,-110)    cloude1(-200,200)    cloude2(300,300)    done()  if __name__ == '__main__':    main()

以上就是"Python怎么利用Turtle绘制哆啦A梦和小猪佩奇"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。

0