涨姿势|看我如何用 Python 哄女朋友开心

da925542e219b3255dac6bb318a65c1e.png

文 | 豆豆

来源:Python 技术「ID: pythonall」

ce884a82c6f4a6c8afab25c40e992846.png

女朋友特别喜欢小猪佩奇,看到小猪佩奇的玩偶就走不动了,刚好最近研究了下 Python 的 turtle 库,简言之这个库就是用来在电脑作画的,你可以操控一只画笔,包括设置其颜色速度等参数,还可以控制其位置和移动方向,于是我就突发奇想能不能用 turtle 来画一只小猪佩奇来哄女朋友开心呢,来跟着派森酱一起上手操作吧。

先来看下我们最终实现的效果图。

000debfbcd62f228735b39be5b5e7ed4.png

安装

作画之前首先需要将我们用到的库安装一下,超简单,使用 pip 进行安装即可。

pip3 install turtle

分析

小猪佩奇看起来简单,实际画起来还是比较复杂的,我们将分成鼻子、头、眼睛、耳朵、嘴、身体、手、脚、尾巴等几部分来分别作画。

老规矩,先引入今天要用到的库 turtle 并做一些基础设置

import turtle as t

def setting():  # 参数设置
    t.pensize(4)
    t.hideturtle()
    t.colormode(255)
    t.color((255, 155, 192), "pink")
    t.setup(840, 500)
    t.speed(10)

五官

第一步当然是先将鼻子、眼睛、耳朵、嘴巴等五官画出来啦。

def nose(x, y):  # 鼻子
    t.penup()
    t.goto(x, y)
    t.pendown()
    t.setheading(-30)
    ... # 省略部分代码

def head(x, y):  # 头
    t.color((255, 155, 192), "pink")
    t.penup()
    t.goto(x, y)
    t.setheading(0)
    ... # 省略部分代码

def ears(x, y):  # 耳朵
    t.color((255, 155, 192), "pink")
    t.penup()
    t.goto(x, y)
    t.pendown()
    ... # 省略部分代码

def eyes(x, y):  # 眼睛
    t.color((255, 155, 192), "white")
    t.penup()
    t.setheading(90)
    t.forward(-20)
    ... # 省略部分代码

def cheek(x, y):  # 腮
    t.color((255, 155, 192))
    ... # 省略部分代码

def mouth(x, y):  # 嘴
    t.color(239, 69, 19)
    t.penup()
    t.goto(x, y)
    ... # 省略部分代码

来看下效果。

c611b2c93cb26ed1b2bba7a2ba5e7934.png

身体

五官画完之后就是身体和肢体了,其实也不复杂,主要是计算好其对应的位置就可以了。

def body(x, y):  # 身体
    t.color("red", (255, 99, 71))
    t.penup()
    t.goto(x, y)
    t.pendown()
    ... # 省略部分代码

def hands(x, y):  # 手
    t.color((255, 155, 192))
    t.penup()
    t.goto(x, y)
    t.pendown()
    ... # 省略部分代码

def foot(x, y):  # 脚
    t.pensize(10)
    t.color((240, 128, 128))
    t.penup()
    t.goto(x, y)    
    ... # 省略部分代码

def tail(x, y):  # 尾巴
    t.pensize(4)
    t.color((255, 155, 192))
    t.penup()
    t.goto(x, y)    
    ... # 省略部分代码

再来看下效果,有没有觉得非常像呢。

124eb886c57807526d2ced8e02cab7a0.png

入口函数

最后将各部位函数整合到一个入口函数即可。

def main():
    setting()
    nose(-100, 100)
    head(-69, 167)
    ears(0, 160)
    eyes(0, 140)
    cheek(80, 10)
    mouth(-20, 30)
    body(-32, -8)
    hands(-56, -45)
    foot(2, -177)
    tail(148, -155)
    t.done()

if __name__ == '__main__':
    main()

至此,大功告成。

总结

今天派森酱带大家一起将小猪佩奇用程序画了出来,由于篇幅有限文中就省略了部分代码,需要的小伙伴根据文末的方式自行获取即可。其实小伙伴们完全可以发挥自己的想象力,有时候惊喜不需要花费很多钱,只需要用心一点就可以让另一半开心很久,祝大家天天开心啦~

PS:公号内回复「Python」即可进入Python 新手学习交流群,一起 100 天计划!

老规矩,兄弟们还记得么,右下角的 “在看” 点一下,如果感觉文章内容不错的话,记得分享朋友圈让更多的人知道!

517ffbfc1dd54c5fb36d0adce60ee78b.gif

代码获取方式

识别文末二维码,回复:豆豆

1d3c72a5df93ec2c7fcc4c6e9dbd8189.png

  • 9
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值