好的成长总是游走在舒适区边缘,始终在伸拉区练习。就是首先去追求那些能够得到的东西,或则稍微努力就能得到的东西。下面这些程序抛转引玉希望能作为大家迈入程序世界的钥匙。

为了提升氛围大家先欣赏下软件工程版的青花瓷

青花瓷(软件工程版)

好了下面进入正题


目录

一、利用Python编写的中秋许愿树

二、自定义中秋月饼绘制


一、利用Python编写的中秋许愿树

中秋许愿树

import turtle
import randomdef love(x, y):  # 在(x,y)处画爱⼼lv = turtle.Turtle()lv.hideturtle()lv.up()lv.goto(x, y)  # 定位到(x,y)def curvemove():for i in range(20):lv.right(10)lv.forward(2)lv.color('red', 'pink')lv.speed(10000000)lv.pensize(1)lv.down()lv.begin_fill()lv.left(160)lv.forward(22)curvemove()lv.left(120)curvemove()lv.forward(22)lv.write("中秋节快乐", font=("Arial", 12, "normal"), align="center")  # 写上表⽩的⼈的名字lv.left(140)  # 画完复位lv.end_fill()def tree(branchLen, t):if branchLen > 5:if branchLen < 20:t.color("green")t.pensize(random.uniform((branchLen + 5) / 4 - 2, (branchLen + 6) / 4 + 5))t.down()t.down()t.forward(branchLen)love(t.xcor(), t.ycor())  # 传输现在turtle的坐标t.up()t.backward(branchLen)t.color("brown")returnt.pensize(random.uniform((branchLen + 5) / 4 - 2, (branchLen + 6) / 4 + 5))t.down()t.forward(branchLen)# 以下递归ang = random.uniform(15, 45)t.right(ang)tree(branchLen - random.uniform(12, 16), t)  # 随机决定减⼩长度t.left(2 * ang)tree(branchLen - random.uniform(12, 16), t)  # 随机决定减⼩长度t.right(ang)t.up()t.backward(branchLen)myWin = turtle.Screen()
t = turtle.Turtle()
t.hideturtle()
t.speed(1000)
t.left(90)
t.up()
t.backward(200)
t.down()
t.color("brown")
t.pensize(32)
t.forward(60)
tree(100, t)
myWin.exitonclick()

二、自定义中秋月饼绘制

from numpy import sin, cos, pi
import matplotlib.pyplot as plt
from matplotlib.patches import Arc, Circle, Wedge
from matplotlib.font_manager import FontPropertiesnum=5
list={'红色':'red','黄色':'yellow','淡蓝':'lightcyan','粉红':'pink','绿色':'greenyellow','橘子色':'orange','天空蓝':'aqua','土黄色':'wheat','紫色':'deeppink','灰色':'lightgrey','深黄色':'orangered','深紫色':'orchid'}                    #颜色的样式class MoonCake():                           #定义一个类def __init__(self,pattern,center,roundt,edge,sector,largefan,largefan_0,blessing,blessing_0,number):      #对数据进行封装self.pattern = pattern             #月饼边缘花纹的颜色self.center = center               #月饼主体圆,边的颜色self.roundt = roundt               #月饼主体圆实部的颜色self.edge =edge                    #请输入4个大的扇形花纹的颜色self.sector = sector               #请输入4个大的扇形花纹实部的颜色self.largefan = largefan           #请输入4个小的扇形花纹的颜色self.largefan_0 = largefan_0       #请输入4个小的扇形花纹实部的颜色self.blessing = blessing           #请输入祝福语self.blessing_0 = blessing_0       #请输入祝福语的颜色self.number = number               #请输入保存图片的序号def lucky(self):length = 20R = 3**0.5*length/(3**0.5*cos(pi/12)-sin(pi/12))r = 2*sin(pi/12)*R/3**0.5arc1 = Arc([0, length], width=2*r, height=2*r,angle=0, theta1=30, theta2=150, ec=str(self.pattern),linewidth=4)                #ec为线条颜色,fc为填充颜色,可以自由替换arc2 = Arc([-length/2, length/2*3**0.5], width=2*r, height=2*r,angle=0, theta1=60, theta2=180, ec=str(self.pattern), linewidth=4)arc3 = Arc([-length/2*3**0.5, length/2], width=2*r, height=2*r,angle=0, theta1=90, theta2=210, ec=str(pattern), linewidth=4)arc4 = Arc([-length, 0], width=2*r, height=2*r, angle=0, theta1=120, theta2=240, ec=str(self.pattern),linewidth=4)     #ec为线条颜色,fc为填充颜色,可以自由替换arc5 = Arc([-length/2*3**0.5, -length/2], width=2*r, height=2*r,angle=0, theta1=150, theta2=270, ec=str(self.pattern), linewidth=4)arc6 = Arc([-length/2, -length/2*3**0.5], width=2*r, height=2*r,angle=0, theta1=180, theta2=300, ec=str(self.pattern), linewidth=4)arc7 = Arc([0, -length], width=2*r, height=2*r, angle=0, theta1=210, theta2=330, ec=str(self.pattern),linewidth=4)arc8 = Arc([length/2, -length/2*3**0.5], width=2*r, height=2*r,angle=0, theta1=240, theta2=360, ec=str(self.pattern), linewidth=4)arc9 = Arc([length/2*3**0.5, -length/2], width=2*r, height=2*r,angle=0, theta1=270, theta2=390, ec=str(self.pattern), linewidth=4)arc10 = Arc([length, 0], width=2*r, height=2*r, angle=0, theta1=300, theta2=420, ec=str(self.pattern), linewidth=4)arc11 = Arc([length/2*3**0.5, length/2], width=2*r, height=2*r,angle=0, theta1=330, theta2=450, ec=str(self.pattern), linewidth=4)arc12 = Arc([length/2, length/2*3**0.5], width=2*r, height=2*r,angle=0, theta1=0, theta2=120, ec=str(self.pattern), linewidth=4)circle = Circle((0,0), R, ec=str(self.center), fc=str(self.roundt), linewidth=4)wedge1 = Wedge([-2, 2], R-5, 90, 180,ec=str(self.edge), fc=str(self.sector), linewidth=4)wedge2 = Wedge([-5, 5], R-12, 90, 180, ec=str(self.largefan),fc=str(self.largefan_0), linewidth=4)                             #ec为线条颜色,fc为填充颜色,可以自由替换wedge3 = Wedge([-2, -2], R-5, 180, 270, ec=str(self.edge),fc=str(self.sector), linewidth=4)wedge4 = Wedge([-5, -5], R-12, 180, 270, ec=str(self.largefan),fc=str(self.largefan_0), linewidth=4)wedge5 = Wedge([2, -2], R-5, 270, 360, ec=str(self.edge),fc=str(self.sector), linewidth=4)wedge6 = Wedge([5, -5], R-12, 270, 360, ec=str(self.largefan),fc=str(self.largefan_0), linewidth=4)wedge7 = Wedge([2, 2], R-5, 0, 90, ec=str(self.edge),                            #ec为线条颜色,fc为填充颜色,可以自由替换fc=str(self.sector), linewidth=4)wedge8 = Wedge([5, 5], R-12, 0, 90, ec=str(self.largefan),fc=str(self.largefan_0), linewidth=4)art_list = [arc1, arc2, arc3, arc4, arc5, arc6, arc7, arc8, arc9, arc10, arc11, arc12]art_list.extend([circle, wedge1, wedge2, wedge3, wedge4, wedge5, wedge6, wedge7, wedge8])fig, ax = plt.subplots(figsize=(8,8))ax.set_aspect('equal')for a in art_list:ax.add_patch(a)plt.axis('off')font_set = FontProperties(fname=r"Alibaba-PuHuiTi-Medium.ttf", size=15)plt.text(-8.4, -7,'中秋\n快乐', bbox=dict(boxstyle='circle', fc="skyblue", ec='red', linewidth=4), fontproperties=font_set,   fontsize=50, color='yellow') ##ec为线条颜色,color为字体颜色,可以自由替换plt.text(-43, -33, str(self.blessing),fontproperties=font_set, fontsize=30, color=str(self.blessing_0))plt.ylim([-35, 35])plt.xlim([-35, 35])name='tset'+str(number)+'.png'      #生成图片序号plt.savefig(name)                   #保存图片plt.show()while num:                                                     #根据需要自己可以决定制作几个月饼print('选择颜色,选择颜色输入一定要正确{}'.format(list))print('不选择我给出的颜色也可以,你自定义选择的颜色输入一定要准确\n')              #输入的格式一定要正确,不然会错print('')pattern = input('请输入月饼边缘花纹的颜色:')                  #制作月饼,并输入参数center = input('请输入月饼主体圆,边的颜色:')roundt = input('请输入月饼主体圆实部的颜色:')edge = input('请输入4个大的扇形花纹的颜色:')sector = input('请输入4个大的扇形花纹实部的颜色:')largefan = input('请输入4个小的扇形花纹的颜色:')largefan_0 = input('请输入4个小的扇形花纹实部的颜色:')blessing = input('请输入祝福语:')blessing_0 = input('请输入祝福语的颜色:')number = int(input('请输入保存图片的序号:'))num = int(input('输入数字0结束月饼制作:'))good=MoonCake(pattern,center,roundt,edge,sector,largefan,largefan_0,blessing,blessing_0,number)good.lucky()

字体下载地址:

http://tianchi-media.oss-cn-beijing.aliyuncs.com/DSW/Python/miniproject/01_draw_moon_cake/Alibaba-PuHuiTi-Medium.ttf

静下心来写代码需要”精神力量“。精神的探究有丰富的理论支撑,这里不再累述有兴趣的同学们可以去翻阅相关书籍下面是摘抄的一段:

人们已经把世界的有形实体细化到了极致,已经看透它的内部构造。从分子到原子,再从原子到量子。接下来我们要做的事情就是把精神细分,找到精神的量子。安布罗斯·佛莱明爵士说:“能量,就其终极本质而言,只有当它表现为我们所说的‘精神’或‘意志’而运转时,方可被我们所理解。

中秋节之Python绘制许愿树和月饼(打开程序员世界的大门)相关推荐

  1. Python绘制分形树

    Python绘制分形树 任务要求 1.树干初始长度为50. 2.每次绘制完成树枝时,画笔右转20度. 3.绘制下一段树枝时,长度减少15,.重复2-3操作直至终止. 4.终止条件:树枝长度小于5,此时 ...

  2. python培训出来的有公司要吗-参加Python培训到底需要学什么?好程序员

    原标题:参加Python培训到底需要学什么?好程序员 参加Python培训到底需要学什么?好程序员,参加Python培训到底需要学什么?在选择靠谱的北京Python工程师培训之前,你自己也要对Pyth ...

  3. python相关职业-浅谈Python全栈开发工程师,让程序员都眼红的职业!

    原标题:浅谈Python全栈开发工程师,让程序员都眼红的职业! Python Python 的排名从去年开始就借助人工智能与独特的魅力持续上升,现在它已经成为了第一名. 与其它编程语言相比所占的优势 ...

  4. python 绘制分形树

    # -*- coding: utf8 -*- """ 绘制分形树 """ import turtledeflection_angle = 2 ...

  5. 大胆,用Python爬一爬都是哪些程序员在反对996?!

    转载自:Alfred数据室 作者:AlfredWu 最近程序员界发生了一件大事儿.如果说"流浪大师" 沈巍在抖音快手里是顶级流量的话,那么在程序员的世界中,一个叫"996 ...

  6. python爬大学生就业信息报告_Python程序员招聘市场简要报告

    python部落原创,禁止转载,欢迎转发 近期,Python小助理整理了前程无忧上面Python程序员招聘的信息.搜集了150家公司的Python程序员招聘信息,整理成表格.今天,小编根据表格的数据绘 ...

  7. python 语音websocket_Python 牺牲性能以提升程序员的工作效率

    1.项目名称:基于 Python3 的信息发送系统 项目简介:lykchat 信息发送系统是 Python3 开发的,通过模拟微信网页端,基于个人微信号,为系统管理人员提供信息发送工具,实现的功能有用 ...

  8. python在哪里写代码比较适合-程序员面试被要求手写代码,你与顶级程序员的差别在哪?...

    原标题:程序员面试被要求手写代码,你与顶级程序员的差别在哪? 前言: Python现在非常火,语法简单而且功能强大,很多同学都想学Python! 所以小的给各位看官们准备了收藏已久的视频教程分享给大家 ...

  9. java跟python对比_【多年的Java程序员总结Java与Python的对比 】

    多年的Java程序员总结Java与Python的对比 作为一个有多年职场经验的技术员,每当我遇到同行时,我都会问一句"你现在用的是什么语言?你喜欢用哪种语言?"至于答案,容后再说. ...

最新文章

  1. mysql floor报错_mysql的floor()报错注入方法详细分析
  2. 2月中国域名总量平稳回升 净增长量逾10.3万个
  3. python制作动图-用Python制作迷宫GIF
  4. 网络工程师技能图谱 | 网络技术的理论知识和操作技能
  5. Ubuntu下apt-get方式Git的安装、配置和更新
  6. mysql把游标数据存入表中_mysql数据库怎么使用游标
  7. 【文末福利】图论算法:稳定婚姻问题,如何找到最适合自己的另一半
  8. 哈工大SCIR Lab | EMNLP 2019 结合单词级别意图识别的stack-propagation框架进行口语理解...
  9. VMware Harbor 学习
  10. Error: [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试。
  11. Eclipse:Build not configured correctly问题
  12. 谈一下关于python-docx指定位置插入图片的故事
  13. axure如何竖立文字_Axure pr 如何让文字显示为竖着的?
  14. 一个网站完整详细的SEO优化方案
  15. 银行卡正则,验证银行卡是否有效
  16. BT下载到底是什么意思啊?
  17. 分析1300万起案件:洛杉矶警局如何用大数据预测犯罪?
  18. 拉格朗日多项式插值法 思路详解+详细代码
  19. MAC安装USB转串口驱动
  20. OKALEIDO解决NFT流动性不足难题 更有创新平台通证分配方案

热门文章

  1. 《精通Linux设备驱动程序开发》——网络接口卡
  2. 【每天学习一点新知识】关于五险一金你必须知道
  3. Synchronized的原理及自旋锁,偏向锁,轻量级锁,重量级锁的区别
  4. textView 文字居上
  5. 【Visual C++】游戏开发笔记四十三 浅墨DirectX教程十一 为三维世界添彩 纹理映射技术 二
  6. 非诚勿扰php被灭灯,非诚勿扰php程序员 结果遭女嘉宾瞬间全灭灯
  7. date-fns 月助手函数
  8. 状态机/流程引擎/审批流的流程引擎/结合低代码开发的流程引擎 区别 业务系统中使用流程引擎
  9. VS2019远程调试虚拟机(免除附加之苦,免去拷贝之痛)的超便捷方法(馊主意)
  10. 基于php的健身资讯网站