python圣诞树编写实例详解
在本篇文章里小编给大家整理的是关于python圣诞树代码的相关内容,有兴趣的朋友们可以学习下。
python圣诞树代码
1、简单的绘制圣诞树
新建tree1.py或者直接输入下面代码运行
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#声明树的高度height = 5#树的雪花数,初始为1stars = 1#以数的高度作为循环次数 for i in range(height): print((' ' * (height - i)) + ('*' * stars)) stars += 2#输出树干print((' ' * height) + '|') |

2、使用turtle绘制简单圣诞树
新建tree2py,输入以下代码
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
#导入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() |
运行:


3、使用Turtle绘制复杂圣诞树
新建tree3.py,输入以下代码
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
|
#导入所依赖的库from turtle import *import randomimport 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) |
运行:

本文来自博客园,作者:木子欢儿,转载请注明原文链接:https://www.cnblogs.com/HGNET/p/15685957.html

浙公网安备 33010602011771号