1 python实现圣诞树
什么,你还不知道怎么画圣诞树?拿去复制粘贴!
相信大家最近都被这样一棵圣诞树刷屏了,用python的turtle库就可以很简单的画出来。
你要说这个有没有难度,我觉得没难度,但创意十足。
下面附上代码,大家可以拿去给自己女朋友画圣诞树了。
2 python代码
import turtle as t
import random
import time
# 代码修改自https://blog.csdn.net/Ding2langdang
def drawlight():
""" 画彩灯 """
if random.randint(0, 30) == 0:
t.color('tomato')
t.circle(6)
elif random.randint(0,30) == 1:
t.color('orange')
t.circle(3)
else:
t.color('dark green')
def tree(d, s):
''' 画树 '''
if d <= 0:
return
t.forward(s)
tree(d-1, s*.8)
t.right(120)
tree(d-3, s*.5)
drawlight()
t.right(120)
tree(d-3, s*.5)
t.right(120)
t.backward(s)
def drawsnow():
''' 画雪花 '''
t.ht()
t.pensize(2)
for i in range(200):
t.pencolor("white")
t.pu()
t.setx(random.randint(-350,350))
t.sety(random.randint(-100,350))
t.pd()
dens = 6
snowsize = random.randint(1,10)
for j in range(dens):
t.fd(int(snowsize))
t.backward(int(snowsize))
t.right(int(360/dens))
n = 100.0
t.speed("fastest")
t.delay(0)
t.screensize(bg='black')
t.left(90)
t.forward(3*n)
t.color("orange", "yellow")
t.begin_fill()
t.left(126)
for i in range(5):
t.forward(n/5)
t.right(144)
t.forward(n/5)
t.left(72)
t.end_fill()
t.right(126)
t.color("dark green")
t.backward(n*4.8)
tree(15, n)
t.backward(n/2)
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.color("dark red","red")
t.write("Merry Christmas!!!",align ="center",font=("Comic Sans MS",40,"bold"))
drawsnow()
t.done()
3 实现效果
赶紧画出来你自己的圣诞树吧!最后分享一份零基础自学Python教程。
今天的文章教你用Python给女友画圣诞树(附源代码)分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:http://bianchenghao.cn/16356.html