*Pythondemo实验31练习实例使用turtle画小猪佩奇

Posted kaixin2018

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了*Pythondemo实验31练习实例使用turtle画小猪佩奇相关的知识,希望对你有一定的参考价值。

如下图小猪佩奇:

技术图片

 

要求使用turtle画小猪佩奇:

 

源码:

# encoding=utf-8
# -*- coding: UTF-8 -*-

# 使用turtle画小猪佩奇

from turtle import*

def nose(x,y):#鼻子
    penup()#提起笔
    goto(x,y)#定位
    pendown()#落笔,开始画
    setheading(-30)#将乌龟的方向设置为to_angle/为数字(0-东、90-北、180-西、270-南)
    
    begin_fill()#准备开始填充图形
    a=0.4
    for i in range(120):
        if 0<=i<30 or 60<=i<90:
            a=a+0.08
            left(3) #向左转3度
            forward(a) #向前走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)#返回或设置pencolor和fillcolor
    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(100)
    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 setting():          #参数设置
    pensize(4)
    hideturtle()        #使乌龟无形(隐藏)
    colormode(255)      #将其设置为1.0或255.随后 颜色三元组的r,g,b值必须在0 .. cmode范围内
    color((255,155,192),"pink")
    setup(840,500)
    speed(10)
    
def main():
    setting()           #画布、画笔设置
    nose(-100,100)      #鼻子
    head(-69,167)       #
    ears(0,160)         #耳朵
    eyes(0,140)         #眼睛
    cheek(80,10)        #
    mouth(-20,30)       #
    done()
    
if __name__ == __main__:
    main()

 

效果图:

技术图片

 

 

 

只画了个头,身子没画出来,后续可以补上。

 

 

 

 


————————(我是分割线)————————

参考:

1. https://blog.csdn.net/weixin_41988628/article/details/80718153

 

 

备注:

初次编辑时间:2019年10月5日11:37:32

环境:Windows 7   / Python 3.7.2

 

以上是关于*Pythondemo实验31练习实例使用turtle画小猪佩奇的主要内容,如果未能解决你的问题,请参考以下文章

Pythondemo实验24练习实例打印图样

Pythondemo实验25练习实例

#Pythondemo实验34练习实例设置文本的颜色

*Pythondemo实验27练习实例定义递归函数

Pythondemo实验20练习实例寻找“完数”

Pythondemo实验6练习实例