用python画个敬业福字代码

作者:馆主阿牛 时间:2022-04-04 18:36:59 

前言

春节快到了,一年一度的支付宝集五福活动就要来了,阿牛也是突发奇想,看能不能用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()

结果展示

用python画个敬业福字代码

来源:https://blog.csdn.net/qq_57421630/article/details/122642729

标签:Python,福
0
投稿

猜你喜欢

  • Python Trie树实现字典排序

    2023-08-23 02:06:10
  • python利用socket实现客户端和服务端之间进行通信

    2022-04-23 07:34:59
  • Python笔记之观察者模式

    2023-04-05 18:37:20
  • SQL查询效率-100w数据查询只要1秒

    2008-08-20 18:25:00
  • 在Python的Django框架中包装视图函数

    2021-01-08 03:45:45
  • 使用Python的PEAK来适配协议的教程

    2021-08-01 04:12:04
  • 解决pygal.style的LightColorizedStyle参数问题

    2023-09-20 06:39:02
  • Python编程使用NLTK进行自然语言处理详解

    2022-07-05 11:47:06
  • Mysql触发器处理本表数据

    2010-10-25 19:56:00
  • python self,cls,decorator的理解

    2023-12-21 00:09:35
  • pycharm sciview的图片另存为操作

    2022-09-26 08:03:07
  • Python基于文件内容实现查找文件功能

    2022-04-13 11:17:47
  • 对mysql表进行优化、分析、检查和修复的说明

    2010-04-22 16:28:00
  • asp如何检测HTTP表头信息?

    2010-06-28 18:20:00
  • python使用requests.session模拟登录

    2022-09-12 19:17:24
  • 一个完美网站的101项指标.第七部分.W3C标准

    2008-03-01 09:31:00
  • Python代码打开本地.mp4格式文件的方法

    2021-08-27 21:43:04
  • laravel修改用户模块的密码验证实现

    2023-06-14 12:37:18
  • 使用Keras 实现查看model weights .h5 文件的内容

    2023-10-18 03:07:16
  • python类参数self使用示例

    2023-05-27 17:15:18
  • asp之家 网络编程 m.aspxhome.com