1.太陽花的繪製
import turtle
turtle.pencolor('red') # 畫筆顏色
turtle.fillcolor('yellow') # 填充顏色
turtle.begin_fill() # 準備開始填充圖形
for _ in range(50): # 畫筆畫了50次
turtle.forward(200)
turtle.left(170)
turtle.end_fill() # 填充完畢
turtle.mainloop() # 啟動事件迴圈
2.五角星的繪製(1)簡單的五角星繪製,乙個庫,乙個主函式,乙個while迴圈
import turtle
def main():
count = 1
while count <= 5:
turtle.forward(100)
turtle.right(144)
count = count + 1
turtle.exitonclick()
if __name__ == '__main__':
main()
效果:
(2)重疊五角星
比(1)多了迴圈,加入迴圈操作可以繪製重複不同大小的圖形
import turtle
def draw_recursive_pentagram(size): #函式的定義
'''迭代繪製五角星
'''# 計數器
count = 1
#開始迴圈
while count <= 5:
turtle.forward(size)
turtle.right(144)
count += 1
# 五角星繪製完成,更新引數
size += 10 # size = size + 10
if size <= 100:
draw_recursive_pentagram(size) # 函式中呼叫函式自身的方式稱為**遞迴**
def main():
'''主函式
'''turtle.penup()
turtle.backward(200)
turtle.pendown()
turtle.pensize(2)
turtle.pencolor('red')
size = 50
draw_recursive_pentagram(size)
turtle.exitonclick()
if __name__ == '__main__': # 呼叫主函式
main()
(2)填充五角星
import turtle
import time
turtle.pensize(5)
turtle.pencolor('yellow')
turtle.fillcolor('red')
turtle.begin_fill()
for _ in range(5):
turtle.forward(200)
turtle.right(144)
turtle.end_fill()
time.sleep(2)
#繪製done
turtle.penup() # 起筆,離開五角星位置,開始畫done
turtle.goto(-150, -120) # done距離五角星中心的位置
turtle.color('violet') # 藍紫色
turtle.write('done', font=('arial', 40, 'normal')) # 寫文字,依次為文字內容、字型、字型大小、型別。
turtle.exitonclick()
效果:
3.繪製分形樹
(1)簡單的,利用遞迴函式繪製分形樹
import turtle
def draw_branch(branch_length):
'''繪製分形樹
'''if branch_length > 3:
# 繪製右側樹枝
turtle.forward(branch_length)
print('向前', branch_length)
turtle.right(20)
print('右轉 20')
draw_branch(branch_length - 15)
# 繪製左側樹枝
turtle.left(40)
print('左轉 40')
draw_branch(branch_length - 15)
# 返回之前的樹枝
turtle.right(20)
print('右轉 20')
turtle.backward(branch_length)
print('向後', branch_length)
def main(): #主函式#
turtle.penup()
turtle.left(90)
turtle.backward(180)
turtle.pendown()
branch_length = 120
draw_branch(branch_length)
turtle.exitonclick()
if __name__ == '__main__': # 呼叫主函式
main()
效果:
(2)帶顏色的分形樹
import turtle as tl # 以下需要呼叫turtle庫函式都採用簡寫tl
def draw_smalltree(tree_length, tree_angle):
'''繪製分形樹函式
'''if tree_length >= 3:
tl.forward(tree_length) # 往前畫
tl.right(tree_angle)
draw_smalltree(tree_length - 10, tree_angle) # 畫下一枝,直到畫到樹長小於3
tl.left(2 * tree_angle) # 轉向畫左
draw_smalltree(tree_length - 10, tree_angle) # 直到畫到樹長小於3
tl.rt(tree_angle) # 轉到正向上的方向,然後回溯到上一層
if tree_length <= 30: # 樹枝長小於30,可以當做樹葉了,樹葉部分為綠色
tl.pencolor('green')
if tree_length > 30:
tl.pencolor('brown') # 樹幹部分為棕色
tl.backward(tree_length) # 往回畫,回溯到上一層
def main():
tl.penup
tl.left(90) # 因為樹是往上的,所以先把方向轉左
tl.backward(250) # 把起點放到底部
tl.pendown
tree_length = 100 # 設定樹長
tree_angle = 20 # 樹枝分叉角度
draw_smalltree(tree_length, tree_angle) # 呼叫draw_smalltree函式
tl.exitonclick()
if __name__ == '__main__':
main()
效果:
Turtle繪製分形樹
import turtle def draw branch branch length if branch length 5 限定繪製的樹枝 包括樹幹 樹枝和樹葉 長度至少大於5 if branch length 20 如果長度小於20,即可判定是樹葉,繪製成綠色 turtle.color gree...
Python使用Turtle繪製分形樹
2020 02 25 python使用turtle繪製分形樹 效果如下 3功能 利用遞迴繪製分型樹 4版本 1.0 5日期 2020 02 25 6 78 import turtle910 defdraw branch branch length 11 12繪製分型樹 13 param branch...
Python繪製分形樹 二
首先我們來分析一下,繪製分形樹大概分以下4個部分 繪製右側樹枝 返回樹枝節點 繪製左側樹枝 返回樹枝節點 根據以上4步,寫乙個遞迴函式,完成我們的需求 def draw branch branch length 繪製樹枝 if branch length 5 turtle.forward branc...