来源:公众号【数恪】

原创作者:Janie(微信L926926z,加微信请备注来源)

中秋节马上到了,Janie用python来给大家画个小月饼,祝大家中秋快乐!

所用工具

1、Python中的turtle包

2、对Python似火的热情

先来介绍一番

Turtle作图又叫海龟作图,是Python中比较有趣的一个模块,功能强大,使用方便。简单来说,比如有一块空地,以中央为原点,画条横轴x,纵轴y,然后一只小乌龟以(0,0)作为起点,开始按照函数的指令来爬行,爬行的过程中会出现轨迹,还可以将爬行的地方填充一下颜色。这样,一个完美的图形就出现了。

是不是很好理解呢?

先开始一段小案例,便于理解。

  • 画个同心圆

import turtle#每种解释分别出个案例
turtle.circle(100)#第一个圈圈大小
turtle.penup()#将提起笔,移动时无图。注释掉的话图形就会相连
turtle.goto(0, 50)#提笔画第二个圈圈时起点往上移动50个向量
turtle.pendown()#将笔放下,移动时绘图。注释掉的话移动时无图了
turtle.circle(50)#第二个圈圈大小
turtle.done()#必须是乌龟图形程序中最后一个语句

结果如下

  • 如果注释掉turtle.penup()呢?

import turtle#每种解释分别出个案例
turtle.circle(100)#第一个圈圈大小
#turtle.penup()#将提起笔,移动时无图。注释掉的话图形就会相连
turtle.goto(0, 50)#提笔画第二个圈圈时起点往上移动50个向量
turtle.pendown()#将笔放下,移动时绘图。注释掉的话移动时无图了
turtle.circle(50)#第二个圈圈大小
turtle.done()#必须是乌龟图形程序中最后一个语句

结果如下:

注释掉之后两个圆连一起了,所以turtle.penup()是提起画笔的意思。

  • 如果注释掉turtle.pendown()呢?

import turtle#每种解释分别出个案例
turtle.circle(100)#第一个圈圈大小
turtle.penup()#将提起笔,移动时无图。注释掉的话图形就会相连
turtle.goto(0, 50)#提笔画第二个圈圈时起点往上移动50个向量
#turtle.pendown()#将笔放下,移动时绘图。注释掉的话移动时无图了
turtle.circle(50)#第二个圈圈大小
turtle.done()#必须是乌龟图形程序中最后一个语句

结果如下:

注释掉之后去画外圆的时候没有笔迹了,所以turtle.pendown()需要将笔放下。

  • 如果将turtle.goto(0, 50)改成turtle.goto(0, 0)呢?

import turtle#每种解释分别出个案例
turtle.circle(100)#第一个圈圈大小
turtle.penup()#将提起笔,移动时无图。注释掉的话图形就会相连
#turtle.goto(0, 0)#提笔画第二个圈圈时起点往上移动50个向量
turtle.pendown()#将笔放下,移动时绘图。注释掉的话移动时无图了
turtle.circle(50)#第二个圈圈大小
turtle.done()#必须是乌龟图形程序中最后一个语句

结果如下:

改成(0,0)之后,画第二个圆的起点和第一个圆的起点一样了。所以turtle.goto(0, 50)是将画第二个圆的起点落于(0,0)点上面50个向量处。

普及了一点小知识后,画月饼正式开始了!

import turtledef goto(x, y):#定义提笔的位置turtle.penup() #将笔提起,移动时无图turtle.goto(x, y)turtle.pendown() #将笔放下,移动时绘图。def yuebing_wai():turtle.pensize(20)#画笔调粗点turtle.color( "#F8CD32","#FBA92D")#填充颜色,F8CD32是圆圈的边缘颜色,FBA92D是圆圈的填充颜色goto(0, -200)#画笔起点位于(0,0)点的下方200向量处turtle.begin_fill()#准备开始填充turtle.circle(200)#定义半径turtle.end_fill()#填充结束def yuebing_zhong():goto(0, 0)#画笔起点位于(0,0)处turtle.color("#F0BE7C")for _ in range(20):#_是占位符,表示临时变量,仅用一次,后面无需再用到 turtle.right(18)#顺时针移动18度turtle.begin_fill()turtle.forward(220)#向前移动的距离turtle.circle(40, 180)#上一条向前移动220之后,开始画半径40的半圆turtle.goto(0, 0)#画完半圆之后回到(0,0)turtle.right(360)#顺时针转个360度turtle.end_fill()def yuebing_nei():#逻辑同上turtle.right(360)turtle.color('#F5E16F')#内层颜色goto(0, -180)for _ in range(12):turtle.begin_fill()turtle.circle(60, 120)turtle.left(180)turtle.circle(60, 120)turtle.end_fill()def fu():#turtle.right(50)goto(-70, -80)#更高坐标尽量使字靠中间turtle.color("Gold")#颜色turtle.write("福", font=("华文隶书", 120, "bold"))turtle.done()if __name__ == '__main__':turtle.speed(90)yuebing_zhong()yuebing_wai()yuebing_nei()fu()turtle.done()

结果如下:

怎么样?是不是很神奇呢?

最后提前祝大家中秋快乐!

趣味项目:用Python代码做个月饼送给你相关推荐

  1. python半圆代码_趣味项目:用Python代码做个月饼送给你!

    所用工具 1.Python中的turtle包 2.对Python似火的热情 先来介绍一番 Turtle作图又叫海龟作图,是Python中比较有趣的一个模块,功能强大,使用方便.简单来说,比如有一块空地 ...

  2. python换脸完整程序_小 200 行 Python 代码做了一个换脸程序

    原标题:小 200 行 Python 代码做了一个换脸程序 简介 在这篇文章中我将介绍如何写一个简短(200行)的 Python 脚本,来自动地将一幅图片的脸替换为另一幅图片的脸. 这个过程分四步: ...

  3. python能做什么项目好-python能做什么项目

    大家在学完python基础之后,突然迷茫起来了,这时就需要一些项目练练手,增加自己的经验,同时找到自己的不足. Python3 实现火车票查询工具(推荐学习:Python视频教程) 使用 Python ...

  4. 用Python代码做一个简单数字小游戏

    #作者是一个十三岁的小男孩. 编辑工具 电脑Python 需要模块 random #今日用代码做一个猜数小游戏 #话不多说,上代码!!! import random number = random.r ...

  5. 100行python代码做一个程序_100行python代码实现微信跳一跳辅助程序

    写在前面 分享一下今天下午用python写的"跳一跳"小游戏的辅助程序.之前是准备用树莓派操控一个"机械手指"来代替人的触摸操作,但该方案还在酝酿中,实现了再分 ...

  6. python应用于财务-用6行python代码做一个财务机器人

    使用python来模拟鼠标和键盘操作: win32api是利用windows自带的接口,实际应用受环境限制较少,之前做的网银打开UKEY输入密码的操作就是使用这个代码实现的,而其他财务机器人软件如ui ...

  7. python代码做图_如何用Python代码制作图

    Python是一种跨平台的计算机程序设计语言.是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的.大型项目的开发. 图是一 ...

  8. python代码做图_超好看的弦图,Python一行代码就能做

    原标题:超好看的弦图,Python一行代码就能做 说起可视化图表,那么弦图( C hord Diagram)一定是颜值担当了,比如我们通过使用百度迁徙数据来可视化展示武汉及其周边城市的迁徙数据

  9. python量化策略代码_手把手教你用三行python 代码做一个动量策略「量化投资系列」...

    动量策略是右侧交易里最常见的,背后的逻辑是就现在涨的,后市还会涨,动量具有惯性的意思. 首先加载原始数据,我们用天的收盘价即可,按统一转为收益率.因为点位本身不重要,我们最后只关心变化率. 以沪深30 ...

最新文章

  1. 你想要的宏基因组-微生物组知识全在这
  2. 简明现代魔法博客图书馆之php学习记录
  3. 美团副总裁夏华夏:科技应该为每一个普通人服务,要做“接地气的AI” | MEET2021...
  4. hbase集群无法重启的可能原因之一及解决办法
  5. 腾讯Groupon合资团购网站 高朋网悄然上线
  6. 【设计模式】 桥梁模式
  7. 关于JS中的定时器!!!
  8. Azure PowerShell (1) PowerShell整理
  9. P4389 付公主的背包(生成函数/多项式)
  10. 前端学习(2575):vue-route使用场景
  11. 点钞视频软件测试,模拟银行综合实验
  12. LCD 驱动的整体分析。
  13. windos10专业版激活(可用)
  14. Ds918 ds3615 ds3617区别_红、白葡萄酒间真正的区别
  15. 如何查看、检测Windows XP-Windows10系统是否为正版
  16. 龙格-库塔(Runge-Kutta)
  17. python之股票数据分析
  18. 汽车外倾角和前束的概念
  19. 数据挖掘与机器学习——数据挖掘概述
  20. 什么是WinSxS?

热门文章

  1. 打脸苹果,三星新品电视“国行”售价低于“美版”
  2. 【面试】Unity面试题答案
  3. 修改iphone微博的GPS位置(iOS6.1.2)
  4. Spring IOC原理理解
  5. java 获取系统时间不对_java new Date()得到的时间和系统时间不一样
  6. Java获取系统时间并转化为字符串
  7. 苹果x处理器多少_苹果手机的第一代全面屏手机,还能不能坚持到5G手机的到来来?...
  8. 用python画写轮眼_Python爬虫入门-图片下载(写轮眼--Lyon)
  9. 王者荣耀2022五一劳动节返场皮肤有哪些 返厂皮肤介绍
  10. 学计算机头发变白了,最新研究:人类头发变白是可逆的,且与生活压力大有关!...