赞
踩
1、简单的绘制圣诞树
新建tree1.py或者直接输入下面代码运行
- #声明树的高度
- height = 5
- #树的雪花数,初始为1
- stars = 1
- #以数的高度作为循环次数
- for i in range(height):
- print((' ' * (height - i)) + ('*' * stars))
- stars += 2
- #输出树干
- print((' ' * height) + '|')
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()

运行:
编辑切换为居中
添加图片注释,不超过 140 字(可选)
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)

运行如下:
Python 易学难精,不是一朝一夕就能深入掌握。在这分享我珍藏的「学 Python 知识框架图」,系统地梳理了入门 Python 的必备知识点,建议保存。
由于文章有限制,在此不能一一展示,需要完整版的朋友可以扫描下方微信二维码免费获取:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。