用python画个敬业福字代码

 更新时间:2022年01月23日 08:38:12   作者:馆主阿牛  
大家好,本篇文章主要讲的是用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()

结果展示

在这里插入图片描述

总结

到此这篇关于用python画个敬业福字代码的文章就介绍到这了,更多相关python画福内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python字符串不可变数据类型

    python字符串不可变数据类型

    这篇文章主要介绍了python字符串不可变数据类型,下文关于python字符串不可变数据类型相关资料展开的内容主要有查找子串及数量、字符串的替换、分割以及合并、删除侧边的空白等内容,需要的小伙伴可以参考一下
    2022-02-02
  • 详尽讲述用Python的Django框架测试驱动开发的教程

    详尽讲述用Python的Django框架测试驱动开发的教程

    这篇文章主要介绍了详尽讲述用Python的Django框架测试驱动开发的教程,主要使用TDD工具,全文介绍非常详细,需要的朋友可以参考下
    2015-04-04
  • PHP webshell检查工具 python实现代码

    PHP webshell检查工具 python实现代码

    Web安全应急响应中,不免要检查下服务器上是否被上传了webshell,手工检查比较慢,就写了个脚本来检查了。Windows平台下已经有了lake2写的雷克图的了,一般的检查也够用了,写了个Linux下面的,用python写的。
    2009-09-09
  • python中使用numpy包的向量矩阵相乘np.dot和np.matmul实现

    python中使用numpy包的向量矩阵相乘np.dot和np.matmul实现

    本文主要介绍了python中使用numpy包的向量矩阵相乘np.dot和np.matmul实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • Django admin禁用编辑链接和添加删除操作详解

    Django admin禁用编辑链接和添加删除操作详解

    今天小编就为大家分享一篇Django admin禁用编辑链接和添加删除操作详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • python3 正则表达式基础廖雪峰

    python3 正则表达式基础廖雪峰

    正则表达式是一种用来匹配字符串的强有力的武器。它的设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,我们就认为它“匹配”了,否则,该字符串就是不合法的
    2020-03-03
  • PyCharm对接DeepSeek大模型的操作流程

    PyCharm对接DeepSeek大模型的操作流程

    以下是使用 PyCharm 对接 DeepSeek 大模型的详细操作流程,基于 Python 开发环境,假设你已具备 DeepSeek API 的访问权限(需提前申请 API Key),需要的朋友可以参考下
    2025-03-03
  • Python过滤掉numpy.array中非nan数据实例

    Python过滤掉numpy.array中非nan数据实例

    这篇文章主要介绍了Python过滤掉numpy.array中非nan数据实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • 用Python实现一个简单的抽奖小程序

    用Python实现一个简单的抽奖小程序

    最近开始学习python相关知识,看最近有不少随机抽奖小程序,自己也做一个试试,下面这篇文章主要给大家介绍了关于如何利用Python实现一个简单的抽奖小程序的相关资料,需要的朋友可以参考下
    2023-05-05
  • PyTorch中Torch.arange函数详解

    PyTorch中Torch.arange函数详解

    PyTorch是由Facebook开发的开源机器学习库,它用于深度神经网络和自然语言处理,下面这篇文章主要给大家介绍了关于PyTorch中Torch.arange函数详解的相关资料,需要的朋友可以参考下
    2023-02-02

最新评论