问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎样用python设计圣诞

发布网友 发布时间:2022-04-07 07:25

我来回答

2个回答

懂视网 时间:2022-04-07 11:47

python圣诞树代码

1、简单的绘制圣诞树

新建tree1.py或者直接输入下面代码运行

(推荐学习:Python教程)

#声明树的高度
height = 5
#树的雪花数,初始为1
stars = 1
#以数的高度作为循环次数
 
for i in range(height):
 print((' ' * (height - i)) + ('*' * stars))
 stars += 2
#输出树干
print((' ' * height) + '|')

1.png

2、使用turtle绘制简单圣诞树

新建tree2py,输入以下代码

#导入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 = 0
for 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()

运行:

2.png

3、使用Turtle绘制复杂圣诞树

新建tree3.py,输入以下代码

#导入所依赖的库
from turtle import *
import random
import time
 
n = 80.0
#设置速度快
speed("fastest")
#背景颜色 海贝壳色,偏粉色
screensize(bg='seashell')
left(90)
forward(3*n)
color("orange", "yellow")
begin_fill()
left(126)
 
for i in range(5):
 forward(n/5)
 right(144)
 forward(n/5)
 left(72)
end_fill()
right(126)
 
color("dark green")
backward(n*4.8)
def tree(d, s):
 if d <= 0: return
 forward(s)
 tree(d-1, s*.8)
 right(120)
 tree(d-3, s*.5)
 right(120)
 tree(d-3, s*.5)
 right(120)
 backward(s)
tree(15, n)
backward(n/2)
 
for i in range(200):
 a = 200 - 400 * random.random()
 b = 10 - 20 * random.random()
 up()
 forward(b)
 left(90)
 forward(a)
 down()
 if random.randint(0, 1) == 0:
  color('tomato')
 else:
 color('wheat')
 circle(2)
 up()
 backward(a)
 right(90)
 backward(b)
time.sleep(60)

运行:

3.png

热心网友 时间:2022-04-07 08:55

今天圣诞节,我用Python绘制了彩色圣诞树,祝大家圣诞快乐。

Python绘制圣诞树的整体逻辑:1、定义树叶Leaves()和树干Trunk()两个函数;2、设定打印行列数,并调用for循环,这里要注意空格、星号和文字字符的计算,不然会影响排列展示;3、设定终端打印字符的颜色,这里用转义序列来实现不同颜色的显示,转义序列以ESC开头,它的ASCII码八进制为 ,显示格式为:[显示方式;前景色;背景色m。比如打印print(' ' * (m - i) + '[35;0m祝大家圣诞快乐[0m' + '[32;0m*[0m' * (2 * i + 2 - len('Happy Christmas')) + ' ' * (m - i)),Python绘制的效果图如下:
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
找专业防水队做完还漏水怎么维权 法院会受理房屋漏水造成的纠纷吗? 巴西龟最长活多久,家养!!! 养胃的药最好的是什么啊 婴儿积食发烧不愿吃药怎么办 板门穴位在哪个部位 手机设置放偷看的方法? 凝结水回收器生产厂家? 个人账户养老金预测公式:现有5万元,缴费20年,能领多少钱? 临沂比较有名的男装品牌 heng就是行组词 行(hang)第四声组词 行的拼音和 组词 行有哪些读音并组词 行的多音字组词。有多少个。 “行”音序、音节、组词? “行”字可以怎么组词? 行的多音字组词 行(hang)能组什么词 行的两种读音组词? 用“行”(hang)组词有哪些? 行组词多音字组词 python可以写那种动态的圣诞树吗 江津建行房贷利率 华阴市建设银行的房贷利率是多少 东莞万江区有哪几个镇 东莞的哪个镇属于中心地区 东莞有几个镇,分别是哪些镇?谢谢 东莞市洪梅镇和万江镇是不是同一个镇来的?谢谢! 东莞万江龙屋基街是属于东莞那个镇? Python用*打印圣诞树图案要求树冠三角形部分为n=5行,中间树干部分为4行,每行三个* 在微信群被人恶意投诉了,解封以后退群了,他还能继续技投诉吗? 微信被封号如果被举报封号后还能用吗 微信投诉完了还能用吗 微信群被投诉可以解除吗? 微信群被投诉了有用吗 我的微信群被投诉封了,会对我个人有影响吗? 微信被投诉说是&#127542;违规行为,被进行警告处理,那还能用吗??? 我的微信群被投诉封了,会对我个人有影响吗? 什么是思想史,思想史主要内容是什么? 什么是思想史 简述中国思想史的含义和研究对象 辨析:“一切历史都是思想史”。 中国思想史重理论指的是什么 怎么理解“一切历史都是思想史”? 思想史与观念史有什么区别 《什么是思想史 思想史和哲学史有什么区别 《什么是社会思想史》学习思想史的重要性 柯林伍德“一切历史都是思想史”怎么理解