用python画福字

简介: 春节快到了,一年一度的支付宝集五福活动就要来了,阿牛也是突发奇想,看能不能用python的turtle库画个"福"字,试了很久,我的这个“福“”字终于看起来可以了,现将源码分享给大家,拿过去放到python的环境中就可以直接运行哦!嘿嘿嘿!这五福手到擒来啦!

📋 个人简介

  • 💖 作者简介:大家好,我是阿牛😜
  • 💬格言:迄今所有人生都大写着失败,但不妨碍我继续向前!🔥

🍏前言

春节快到了,一年一度的支付宝集五福活动就要来了,阿牛也是突发奇想,看能不能用python的turtle库画个"福"字,试了很久,我的这个“福“”字终于看起来可以了,现将源码分享给大家,拿过去放到python的环境中就可以直接运行哦!嘿嘿嘿!这五福手到擒来啦!

🍅海龟画笔的介绍

海龟绘图是 Python 内置的一个比较有趣的模块,模块名称为 turtle,并且依赖python内置的tkinter模块。它最初源于 20世纪60年代 的 Logo 语言,之后成为了 Python 的内置模块。海龟绘图提供了一些简单的绘图方法,可以根据编写的控制指令(代码),让一个 “海龟” 在屏幕上来回移动,而且可以在它爬行的路径上绘制图形。通过海龟绘图,不仅可以在屏幕上绘制图形,还可以看到整个绘制过程。另外,海龟绘图对初学者十分友好,它能够轻松地编写出很多有趣的实例。

海龟绘图的三要素:
采用海龟绘图有三个关键要素,即方向、位置和画笔。在进行海龟绘图时,主要就是控制这些要素来绘出我们想要的图形。

主要方法:
方向: 在进行海龟绘图时,方向主要用于控制海龟的移动方向。

left()/lt() 方法:让海龟左转 (逆时针) 指定度数。
right()/rt() 方法:让海龟右转 (顺时针) 指定度数。
setheading()/seth() 方法:设置海龟的朝向为0(东)、90(北)、180(西)或 270(南)

位置: 在进行海龟绘图时,位置主要用于控制海龟移动的距离。

forward(distance)/fd(distance):让海龟向前移动指定距离。
backward(distance)/bk(distance):让海龟向后退指定距离。
goto(x,y):让海龟移动到画布中的特定位置。即坐标 (x,y) 所指定的位置。
setx(x):设置海龟的横坐标到 x,纵坐标不变。
sety(y):设置海龟的纵坐标到 y,横坐标不变。
home():海龟移至初始坐标(0,0),并设置朝向为初始方向。

画笔:海龟绘图中的画笔就相当于现实生活中绘图所用的画笔。在海龟绘图中,通过画笔可以控制线条的粗细、颜色和运动的速度。

pensize() 设置画笔的宽度(画笔线条粗细为指定大小);
pencolor() 没有参数传入,返回当前画笔颜色,传入参数设置画笔颜色,可以是字符串如"green","red",也可以是rgb颜色元组。
speed(speed) 设置画笔移动速度,画笔绘制的速度范围[0,10]整数,数字越大画的越快。

🍅“福”字源码

from turtle import *
screensize(800,600,"red") #设置画布大小,且将背景变为红色
pensize(50)  #画笔大小
pencolor('black')  #画笔颜色
shape("circle")  #形状为圆
speed(3) #画笔速度,参数越大,速度越快

"""绘制福字左侧偏旁"""
#画点
seth(-60) #画笔方向(参数相当于度数)
penup() #抬笔
bk(240) #后退
seth(-45)
pendown()  #落笔
fd(50) #前进
#画横
seth(45),penup(),bk(135)
seth(15),pendown(),fd(135)
#画撇
seth(-125),pendown(),fd(200)
#画竖
seth(55),penup(),fd(150)
seth(-90),pendown(),fd(220)
#画点
seth(90),penup(),fd(220)
seth(-45),pendown(),fd(60)

"""画福字右侧部分"""
#######画一
seth(70),penup(),fd(190)
seth(10),pendown(),fd(120)

#######画口
seth(38),penup(),bk(150)
#画竖
seth(-85),pendown(),fd(85),penup(),bk(85)
#画横
seth(10),pendown(),fd(120)
#画竖
seth(-95),pendown(),fd(90)
#画横
seth(9),penup(),bk(95),pendown(),fd(95)

#######画田
seth(38),penup(),bk(165)
#画竖
seth(-85),pendown(),fd(110),penup(),bk(110)
#画横
seth(10),pendown(),fd(175)
#画竖
seth(-95),pendown(),fd(145)
#画口里的横
penup(),bk(85),pensize(30)
seth(-170),fd(150),pendown(),bk(150)
#画口里的竖
seth(165),penup(),fd(85)
seth(-90),pendown(),fd(90)
#画横
seth(4),penup(),bk(60),pendown(),pensize(50),fd(120)

hideturtle()  #隐藏画笔的turtle形状
mainloop()  #tkinter模块的事件循环函数,让幕布画完图不关闭,等价于done()

🍅结果展示

在这里插入图片描述

🍏结语

喜欢博主的内容就一键三连哦!喜欢💖=点赞👍+收藏⭐️+留言📝
🔥勇敢牛牛,不怕困难!🔥
最后祝大家新春快乐,五福临门!!!🧨🧨🧨

相关文章
|
3月前
|
机器学习/深度学习 算法 数据挖掘
Python4
### 2.3 Python数据挖掘建模常用框架和库 Python 拥有丰富的第三方库,在数据挖掘领域应用广泛。常用框架包括 TensorFlow、Keras、PyTorch、PaddlePaddle 和 Caffe 等;常用库则有 scikit-learn、jieba、SciPy、OpenCV、Pillow、Gensim 和 SnowNLP等。
25 8
|
4月前
|
数据库 Python
Python 3.9,来了!
Python 3.9,来了!
|
7月前
|
机器学习/深度学习 数据采集 运维
python实际应用
python实际应用
69 1
|
7月前
|
Python
Python喜羊羊
Python喜羊羊
89 0
|
Java 测试技术 索引
python-编程训练题(上)
python-编程训练题
427 0
|
Linux C语言 Python
python转C
python转C
267 0
|
存储 Python
Python字符串详解
Python字符串详解
132 0
Python字符串详解
|
数据采集 运维 算法
|
JSON 移动开发 数据格式
Python 小抄报
Comprehensive Python Cheatsheet Download text file, PDF, Fork me on GitHub or Check out FAQ. Contents     1.
3426 0
|
人工智能 Linux 测试技术