前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python急转弯-5-面试篇

Python急转弯-5-面试篇

作者头像
小团子
发布2019-07-18 15:53:05
3050
发布2019-07-18 15:53:05
举报
文章被收录于专栏:数据云团

在前几篇中,都是枯燥无味,还要动动脑筋的算法题,现在可以放松下,来完成画一只 粉红 Pig。 随着函数出现的拼图,来猜猜这只会是什么样的 Pig?

大部分python安装环境下都包含turtle这个绘图模块

  • 切换RGB色彩模式
  • 画笔控制函数
  • 运动控制函数
  • 方向控制函数

① 画鼻子

  • turtle.penup()

画笔抬起,不留下痕迹

  • turtle.pendown()

画笔落下,留下痕迹

  • turtle.setheading(angle)

改变行进方向

angle:改变方向的角度(绝对坐标下,绝对角度)

  • turtle.goto(100,100)

指从当前的点指向括号内所给坐标

代码语言:javascript
复制
def nose(x,y):
    turtle.penup()
    turtle.goto(x,y)
    turtle.pendown()
    turtle.setheading(-30)
    turtle.begin_fill()
    a = 0.4
    for i in range(120):
        if 0<=i<30 or 60<=i<90:
            a = a + 0.08
            turtle.left(3)
            turtle.forward(a)
        else:
            a = a - 0.08
            turtle.left(3)
            turtle.forward(a)
    turtle.end_fill()

    turtle.penup()
    turtle.setheading(90)
    turtle.forward(25)
    turtle.setheading(0)
    turtle.forward(10)
    turtle.pendown()
    turtle.pencolor("deeppink")
    turtle.setheading(10)
    turtle.begin_fill()
    turtle.circle(5)
    turtle.color("pink")
    turtle.end_fill()

    turtle.penup()
    turtle.setheading(0)
    turtle.forward(20)
    turtle.pendown()
    turtle.pencolor("deeppink")
    turtle.setheading(10)
    turtle.begin_fill()
    turtle.circle(5)
    turtle.color("pink")
    turtle.end_fill()

② 画头部

  • turtle.circle(r,angle)

指沿着海龟左侧的某一点做圆运动

根据半径r,绘制一个extent角度的弧度

r:默认圆心在海龟左侧r距离的位置

  • turtle.forword(d)

向前行进 d:行进距离,可以为负数

代码语言:javascript
复制
def head(x,y):
    turtle.color("pink")
    turtle.penup()
    turtle.goto(x,y)
    turtle.setheading(180)
    turtle.circle(300,-30)
    turtle.circle(100,-60)
    turtle.circle(80,-100)
    turtle.circle(150,-20)
    turtle.circle(60,-95)
    turtle.setheading(161)
    turtle.circle(-300,15)
    turtle.penup()
    turtle.goto(-100,100)
    turtle.pendown()
    turtle.setheading(-30)
    a = 0.4
    for i in range(60):
        if 0<=i<30 or 60<=i<90:
            a = a + 0.08
            turtle.left(3)
            turtle.forward(a)
        else:
            a = a - 0.08
            turtle.left(3)
            turtle.forward(a)
    turtle.end_fill()

③ 画耳朵

代码语言:javascript
复制
def ears(x,y):
    turtle.color("pink")
    turtle.penup()
    turtle.goto(x,y)
    turtle.pendown()
    turtle.begin_fill()
    turtle.setheading(100)
    turtle.circle(-50,50)
    turtle.circle(-10,120)
    turtle.circle(-50,54)
    turtle.end_fill()

    turtle.penup()
    turtle.setheading(90)
    turtle.forward(-12)
    turtle.setheading(0)
    turtle.forward(30)
    turtle.pendown()
    turtle.begin_fill()
    turtle.setheading(100)
    turtle.circle(-50,50)
    turtle.circle(-10,120)
    turtle.circle(-50,56)
    turtle.end_fill()

④ 画眼睛

代码语言:javascript
复制
def eyes(x,y):
    turtle.color("white")
    turtle.penup()
    turtle.setheading(90)
    turtle.forward(-20)
    turtle.setheading(0)
    turtle.forward(-95)
    turtle.pendown()
    turtle.begin_fill()
    turtle.circle(15)
    turtle.end_fill()

    turtle.color("black")
    turtle.penup()
    turtle.setheading(90)
    turtle.forward(12)
    turtle.setheading(0)
    turtle.forward(-3)
    turtle.pendown()
    turtle.begin_fill()
    turtle.circle(3)
    turtle.end_fill()

    turtle.color("white")
    turtle.penup()
    turtle.setheading(90)
    turtle.forward(-25)
    turtle.setheading(0)
    turtle.forward(40)
    turtle.pendown()
    turtle.begin_fill()
    turtle.circle(15)
    turtle.end_fill()

    turtle.color("black")
    turtle.penup()
    turtle.setheading(90)
    turtle.forward(12)
    turtle.setheading(0)
    turtle.forward(-3)
    turtle.pendown()
    turtle.begin_fill()
    turtle.circle(3)
    turtle.end_fill()

⑤ 画脸颊

代码语言:javascript
复制
def cheek(x,y):
    turtle.color("pink")
    turtle.penup()
    turtle.goto(x,y)
    turtle.pendown()
    turtle.setheading(0)
    turtle.begin_fill()
    turtle.circle(30)
    turtle.end_fill()

⑥ 画嘴巴

代码语言:javascript
复制
def mouth(x,y):
    turtle.color("pink")
    turtle.penup()
    turtle.goto(x,y)
    turtle.pendown()
    turtle.setheading(-80)
    turtle.circle(30,40)
    turtle.circle(40,80)

⑦ 全局设置

  • turtle.colormode(mode)

1.0:RGB小数模式

255:RGB整数模式

  • turtle.pensize(width)

画笔宽度

  • turtle.setup(width,height,startx,starty)

-setup() 设置窗体的位置和大小 相对于桌面的起始点的坐标以及窗口的宽度高度,若不写窗口的起始点,则默认在桌面的正中心,窗体的坐标原点默认在窗口的中心。

代码语言:javascript
复制
def setting():
    turtle.pensize(4)
    turtle.hideturtle()
    turtle.colormode(255)
    turtle.color("pink")
    turtle.setup(840,500)
    turtle.speed(10)

⑧ 主函数

代码语言:javascript
复制
def main():
    setting()
    nose(-100,100)
    head(-69,167)
    ears(0,160)
    eyes(0,140)
    cheek(80,10)
    mouth(-20,30)
    turtle.done()

来欣赏下,辛苦那么久,敲了那么多码,结果会是什么呢?

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-05-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据云团 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档