在本篇文章里小编给大家整理的是关于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
#树的雪花数,初始为1
stars
=
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
=
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()
|
运行:
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
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
)
|
运行: