圣诞节教你用Python绘制爱心圣诞树
心血来潮的一个想法,分享一下代码
代码
# -*- coding: utf-8 -*-"""Created on Sat Dec 12 12:29:09 2020@author: haoyu"""import turtle as timport random# 爱心函数# 将爱心分为两个半圆与一个正方形# r为半圆半径,l = 2r为正方形边长# 调整半径即可调整爱心大小def loving_heart(r):l = 2 * rt.left(45)t.forward(l)t.circle(r, 180)t.right(90)t.circle(r, 180)t.forward(l)# 树函数(递归)def tree(d, s):if d <= 0:returnt.forward(s)tree(d - 1, s * .8)t.right(120)tree(d - 3, s * .5)t.right(120)tree(d - 3, s * .5)t.right(120)t.backward(s) #回退函数#画爱心部分t.penup()t.goto(0,200) #设置起点位置t.pendown()t.pencolor('pink') #设置画笔颜色t.color('pink') t.begin_fill() #对图形进行填充loving_heart(20) #执行画爱心函数t.end_fill()#画树部分n = 100t.speed('fastest')#t.Turtle().screen.delay(0)t.right(225)t.color("dark green")t.backward(n * 4.8)tree(15, n)t.backward(n / 5)#绘制落叶for i in range(200):a = 200 - 400 * random.random()b = 10 - 20 * random.random()t.up()t.forward(b)t.left(90)t.forward(a)t.down()if random.randint(0, 1) == 0:t.color('tomato')else:t.color('wheat')t.circle(2)t.up()t.backward(a)t.right(90)t.backward(b)t.hideturtle()
结果
文章图片
参考:https://www.cnblogs.com/felixwang2/p/10177515.html介绍下其他方法如何用Python画一个圣诞树呢?
最简单:
height = 5stars = 1for i in range(height):print((' ' * (height - i)) + ('*' * stars))stars += 2print((' ' * height) + '|')
效果:
文章图片
哈哈哈哈,总有一种骗了大家的感觉。
其实本文是想介绍Turtle库来画圣诞树。
方法:
import turtle screen = turtle.Screen() screen.setup(800,600) circle = turtle.Turtle() circle.shape('circle') circle.color('red') circle.speed('fastest') circle.up() square = turtle.Turtle()square.shape('square')square.color('green')square.speed('fastest')square.up()circle.goto(0,280)circle.stamp()k = 0for i in range(1, 17):y = 30*ifor j in range(i-k):x = 30*jsquare.goto(x,-y+280)square.stamp()square.goto(-x,-y+280)square.stamp()if i % 4 == 0:x = 30*(j+1)circle.color('red')circle.goto(-x,-y+280)circle.stamp()circle.goto(x,-y+280)circle.stamp()k += 2if i % 4 == 3:x = 30*(j+1)circle.color('yellow')circle.goto(-x,-y+280)circle.stamp()circle.goto(x,-y+280)circle.stamp()square.color('brown')for i in range(17,20):y = 30*ifor j in range(3):x = 30*jsquare.goto(x,-y+280)square.stamp()square.goto(-x,-y+280)square.stamp()turtle.exitonclick()
效果:
文章图片
【圣诞节教你用Python绘制爱心圣诞树】到此这篇关于圣诞节教你用Python绘制爱心圣诞树的文章就介绍到这了,更多相关Python圣诞树内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- 慢慢的美丽
- 遇到一哭二闹三打滚的孩子,怎么办┃山伯教育
- 2.6|2.6 Photoshop操作步骤的撤消和重做 [Ps教程]
- “成长”读书社群招募
- 石头巷;名垂青史的廉政教材
- 每日一话(49)——一位清华教授在朋友圈给大学生的9条建议
- 历史教学书籍
- 二十年后的家乡
- 漫画初学者如何学习漫画背景的透视画法(这篇教程请收藏好了!)
- 唱歌教学(导致嗓音损坏的几个常见的错误唱歌方法!)