文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

怎么用Python绘制爱心圣诞树

2023-06-22 03:23

关注

这篇文章主要介绍了怎么用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 * r    t.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:        return    t.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()

结果

怎么用Python绘制爱心圣诞树

参考:https://www.cnblogs.com/felixwang2/p/10177515.html

介绍下其他方法如何用Python画一个圣诞树呢?

最简单:

height = 5stars = 1for i in range(height):    print((' ' * (height - i)) + ('*' * stars))    stars += 2print((' ' * height) + '|')

效果:

怎么用Python绘制爱心圣诞树

哈哈哈哈,总有一种骗了大家的感觉。

其实本文是想介绍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*i   for j in range(i-k):       x = 30*j      square.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 += 2    if 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*i   for j in range(3):       x = 30*j        square.goto(x,-y+280)       square.stamp()        square.goto(-x,-y+280)        square.stamp()turtle.exitonclick()

效果:

怎么用Python绘制爱心圣诞树

感谢你能够认真阅读完这篇文章,希望小编分享的“怎么用Python绘制爱心圣诞树”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网行业资讯频道,更多相关知识等着你来学习!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯