在本篇文章里小編給大家整理的是關於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
)
|
運行:

