✨ Python入门 ✨ 3️⃣ 画一个大太阳 ☀️,甚至还能画个蜡笔小❤️|Python 主题月

您所在的位置:网站首页 如何用python画人 ✨ Python入门 ✨ 3️⃣ 画一个大太阳 ☀️,甚至还能画个蜡笔小❤️|Python 主题月

✨ Python入门 ✨ 3️⃣ 画一个大太阳 ☀️,甚至还能画个蜡笔小❤️|Python 主题月

2023-12-28 20:43| 来源: 网络整理| 查看: 265

本文正在参加「Python主题月」,详情查看 活动链接

前言

上一篇写了个温度转换的小程序,颇有点小成就感。听大佬说,Python还能画图,我就虚心请教了一下,原来是用一个☝🏻函数(海龟绘图):turtle — Turtle graphics。

于是,我跟教练说:这次我想画一个大太阳☀️~

在这里插入图片描述

加油💪🏻ヾ(◍°∇°◍)ノ゙

在这里插入图片描述

你没看错,就是这个大太阳!!!

正文开始

在开始之前,先简单介绍下海龟绘图函数吧!

可参考官方教程:docs.python.org/zh-cn/3/lib…

下面列一下本文可能需要用到的一些方法:

setup() 设置 showturtle() | st() 显示海龟 pensize() | width() 画笔粗细 pencolor() 画笔颜色 penup() | pu() | up() 画笔抬起 pendown() | pd() | down() 画笔落下 goto() | setpos() | setposition() 前往/定位 setheading() | seth() 设置朝向 color() 颜色 forward() | fd() 前进 left() | lt() 左转 begin_fill() 开始填充 end_fill() 结束填充 circle() 画圆 exitonclick() 当点击时退出

大致了解一下就行,开始实战吧!

1 创建项目文件

第一步☝🏻,自然是打开PyCharm,麻利的先创建一个新项目,再创建一个Python文件😌: 在这里插入图片描述

2 理清逻辑

不管编写什么程序前,我的习惯:逻辑一定要先缕清楚!!!

由于海龟绘图函数只能一笔画完,因此可能无法达到 ☀️ 的展示效果;所以我粗略手画了一下: 在这里插入图片描述 ☀️ 一眼看去,大概组成:1个圆 和 8个 等边三角形。所以,大概逻辑就是:

第一步: 把这个图形切割为8个部分,每个部分如下图所示: 在这里插入图片描述 第二步: 用海龟绘图画出这个部分,分为一个等边三角形和一个弧线: from turtle import * # 画笔抬起 pu() # 定位开始位置 goto(-30, 100) # 画笔落下 pd() # 设置朝向 seth(0) pencolor('#EEC211') # 前进80步 fd(80) # 向左120度 lt(120) # 前进80步 fd(80) # 向左120度 lt(120) # 前进80步 fd(80) # 向左143度 lt(143) # 向下画半径为100的弧线 68步 circle(-100, 68) # 窗口手动点击关闭 exitonclick()

运行后效果如下: 在这里插入图片描述

第三步: for循环重复执行8次,拼接出完整太阳形状: from turtle import * # 画笔抬起 pu() # 定位开始位置 goto(-30, 100) # 画笔落下 pd() # 设置朝向 seth(0) pencolor('#EEC211') # 循环8次 for i in range(8): # 前进80步 fd(80) # 向左120度 lt(120) # 前进80步 fd(80) # 向左120度 lt(120) # 前进80步 fd(80) # 向左143度 lt(143) # 向下画半径为100的弧线 68步 circle(-100, 68) # 窗口手动点击关闭 exitonclick()

运行效果如下: 在这里插入图片描述

第四步: 给画好的图形上色 from turtle import * # 画笔抬起 pu() # 定位开始位置 goto(-30, 100) # 画笔落下 pd() # 设置朝向 seth(0) pencolor('#EEC211') # 设置颜色 color('#EEC211') # 循环8次 for i in range(8): # 开始填充颜色 begin_fill() # 前进80步 fd(80) # 向左120度 lt(120) # 前进80步 fd(80) # 向左120度 lt(120) # 前进80步 fd(80) # 向左143度 lt(143) # 向下画半径为100的弧线 68步 circle(-100, 68) # 结束填充 end_fill() # 窗口手动点击关闭 exitonclick()

运行效果如下: 在这里插入图片描述 发现个小问题,中间部分没有填充颜色,得想个办法给它加上。

第五步: 中间部位填充颜色

讲一下大概思路,就是在中间部位再画一个圆,然后覆盖填充颜色即可。

# 中心部分上色 # 设置颜色 color('#EEC211') begin_fill() left(12) circle(-145) end_fill() exitonclick()

运行效果如下所示: 在这里插入图片描述

最后一步: 整合代码,封装函数 # 画太阳 def drawSun(): for i in range(8): # 开始填充颜色 begin_fill() # 前进80步 fd(80) # 向左120度 lt(120) # 前进80步 fd(80) # 向左120度 lt(120) # 前进80步 fd(80) # 向左143度 lt(143) # 向下画半径为100的弧线 68步 circle(-100, 68) # 结束填充 end_fill() # 主程序 def main(): # 画笔颜色 pencolor('#EEC211') # 画笔抬起 pu() # 定位开始位置 goto(-20, 100) # 画笔落下 pd() # 设置朝向 seth(0) # 设置颜色 color('#EEC211') # 画太阳 drawSun() # 中心部分上色 begin_fill() left(12) circle(-145) end_fill() exitonclick()

运行效果如下: 在这里插入图片描述 欧克,大功告成!✌️ 今日份的学习,就到这了,下期再见~ 👋

完整代码如下:

from turtle import * def drawSun(): for i in range(8): # 开始填充颜色 begin_fill() # 前进80步 fd(80) # 向左120度 lt(120) # 前进80步 fd(80) # 向左120度 lt(120) # 前进80步 fd(80) # 向左143度 lt(143) # 向下画半径为100的弧线 68步 circle(-100, 68) # 结束填充 end_fill() def main(): # 画笔颜色 pencolor('#EEC211') # 画笔抬起 pu() # 定位开始位置 goto(-20, 100) # 画笔落下 pd() # 设置朝向 seth(0) # 设置颜色 color('#EEC211') # 画太阳 drawSun() # 中心部分上色 begin_fill() left(12) circle(-145) end_fill() exitonclick() main() 写在最后

不学不知道,一学吓一跳,原来Python不止可以爬虫,还能画图,真有趣,我还见过有朋友画 蜡笔小新 ,分享给朋友们看一下: 在这里插入图片描述 真有趣!!!真乃神人也~ 🙉

本次分享到此结束啦~

如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是我创作最大的动力。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3