[Day27] 超萌❤ 教你用Python画天竺鼠车车逗女友开心!

当女朋友说想要你手作的礼物,但比起动手做,你更想写程序给女友工程师的浪漫,
这时候Python的Turtle套件就派上用场了!既符合手作的要求(手绘),也能展现你的程序魂!

使用环境

基础用法

  1. 打开画布、设定画布大小
screen = turtle.Screen() # 注意S是大写喔!
screen.setup(500, 500) # 设定画布(视窗)长宽
  1. 画笔属性设定
turtle.pensize() # 线条的宽度
turtle.pencolor() # 线条的颜色
turtle.shape() # 笔尖的形状,有"arrow"、 "turtle"、"circle"、"square",都很丑,建议隐藏笔尖形状
turtle.hideturtle() # 隐藏笔尖形状,除非觉得乌龟形状很萌
turtle.speed(3) # 画笔的移动速度,范围是0-10,数字越大越快。
  1. 画笔的状态(在画布上or从画布拿起来)

这两个很重要!要开始画每一条线前都要先penup(),结束画线要记得pendown()。

turtle.penup() # 下笔(开始画图)
turtle.pendown() # 放下笔(结束画图)
  1. 画笔移动设定

想像画布中心有一个隐形座标轴,画笔的移动都是以座标位置决定方向。`

turtle.goto(-10, 22) # 将画笔移动到(-10, 22)座标处
turtle.forward(40)	 # 向画笔现在的方向移动40像素长
turtle.backward(40)	 # 向画笔现在的相反方向移动40像素长
turtle.right(90)	 # 顺时针右转 90°
turtle.left(90)	     # 逆时针左转 90°
  1. 弧形、点画法

虽然说circle是画圆,但是它其实可以画任何弧度的(正)多边形

turtle.circle(radius, extent, steps) # 画半径为radius的圆,extent是弧度范围,边数为steps
turtle.dot(size, color) # 画直径为size的点
  1. 填充上色
fillcolor() # 要填满的颜色
begin_fill() # 开始填充
end_fill() # 结束填充

成果发表会

https://i.imgur.com/ZiLNvCy.gif

开头看到的箭头就是上面说的笔尖形状喔,是不是真的丑丑的!

大家看到这里可能会想说:怎麽没有画天竺鼠车车的程序码呢?
要给女友的礼物当然要自己coding啊!不然也太没诚意了!!

我这个差不多画了一个礼拜,然後某天电脑磁碟突然烧坏程序原始档就不见了(没备份QAQ)
这边向大家承诺!等uncompyle6支援到Python 3.9可以反编译执行档後,我就会在这边补上原始码了><
(啊等到那时候天竺鼠车车可能都走入历史了)
https://ithelp.ithome.com.tw/upload/images/20210927/20133286avMD6yhgoe.png

最後再让大家欣赏我画了一个礼拜的西罗摩~


<<:  Day 12. slate × Interfaces × Data-Model

>>:  Day 13 Class与v-bind

Day 21 Azure machine learning: Upload data- 自己的资料自己传

Azure machine learning: Upload data- 自己的资料自己传 要做汇率...

DAY22神经网路

昨天介绍完DBSCAN程序,今天要来研究神经网路: (来源: http://programmerma...

110/12 - 把照片储存在Pictures/应用程序名称资料夹 - 2

Android 11开始把getExternalStoragePublicDirectory标记弃用...

Episode 7 - 四则运算

范例档案 GitHub Repo: https://github.com/kaochenlong/...

[Day02] JavaScript - ES6 概要&语法

ES6 概念 ECMAScript 6 (简称 ES6),是JavaScript语言新一代的标准,在...