专栏首页数据云团Python急转弯-5-面试篇

Python急转弯-5-面试篇

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

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

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

① 画鼻子

  • turtle.penup()

画笔抬起,不留下痕迹

  • turtle.pendown()

画笔落下,留下痕迹

  • turtle.setheading(angle)

改变行进方向

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

  • turtle.goto(100,100)

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

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:行进距离,可以为负数

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()

③ 画耳朵

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()

④ 画眼睛

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()

⑤ 画脸颊

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()

⑥ 画嘴巴

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

def setting():
    turtle.pensize(4)
    turtle.hideturtle()
    turtle.colormode(255)
    turtle.color("pink")
    turtle.setup(840,500)
    turtle.speed(10)

⑧ 主函数

def main():
    setting()
    nose(-100,100)
    head(-69,167)
    ears(0,160)
    eyes(0,140)
    cheek(80,10)
    mouth(-20,30)
    turtle.done()

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

本文分享自微信公众号 - 数据云团(SmartData),作者:云团小楠

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-05-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python急转弯-3-面试篇

    经过两轮的头脑爆炸,越是找不到解题思路了。用什么样的方式来答题,才能拿到 offer.这种感受就像是突然之间被电了一下。

    小团子
  • Python基础-字符串

    "{}{}{}".format(a, b, c)(注:{} 里面可以填入与后面相对应的符号)

    小团子
  • Django实战-信息资讯-新增管理员权限

    Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(...

    小团子
  • Python画五星红旗

    画五星红旗的思路:首先,应分为三个模块展开设计,第一个模块是设计旗面,对于国旗的旗面可以按照黄金分割比进行设计,第二个模块是设计大五角星,第三个模块是设计四个小...

    fem178
  • 30秒教会你用Python制作520表白神器

    在我大三的时候,就有一个计算机的朋友用自己做的代码感动了一个数学系的女生。就是下面这种。(这个爱心是有运行结果的!)也不知道为什么妹子放弃了全班30多位帅哥(没...

    用户7466307
  • Python绘鼠,“福鼠”中华

    今天是正月初九,肺炎疫情依旧肆虐、形势依然严重,感谢所有为疫情一直在奔波、付出的人们。在此也希望大家用严实的防护措施,为打赢这场战役贡献自己的力量。

    州的先生
  • Python语言程序设计之二--用tur

    这篇笔记依然是在做《Python语言程序设计》第5章循环的习题。其中有两类问题需要记录下来。

    py3study
  • Python的学习笔记--画图

    海龟绘图画图比较简单,主要使用python的turtle模块, 就是通过编程指挥一个小海龟在屏幕上前进和左转右转。

    付威
  • python 学习总结3

    该程序运用到了python的标准库Turtle,那么什么是Turtle,他又能用来干什么呢?

    py3study
  • [Python学习笔记] turtle库

    py3study

扫码关注云+社区

领取腾讯云代金券