首页
/
每日頭條
/
科技
/
python畫蝸牛号
python畫蝸牛号
更新时间:2025-12-23 10:36:05
介紹

用遞歸和Turtle庫繪制八進制的雪花。以下是遞歸深度從1~5的八面形雪花:

python畫蝸牛号(少兒學編程系列---使用遞歸畫雪花)1

除了通過遞歸深度停止遞歸,還可以在半徑小于特定大小時停止遞歸。以下八面形雪花是通過将半徑遞歸的阈值設置為10生成的。現在你可以看到所有的八邊形都有相同的尺寸

python畫蝸牛号(少兒學編程系列---使用遞歸畫雪花)2

源代碼

import turtle from turtle import * import math import random # 以指定的中心,畫八面形 def octagon(x, y, r): # x,y is the center up() goto(x, y) seth(90) fd(r) left(180 - 135 / 2) down() begin_fill() edgeSize = 2 * r * math.sin(math.radians(45 / 2)) for _ in range(8): fd(edgeSize) left(45) end_fill() # 畫八面形雪花 def octaflake(x, y, r, n): # 根據遞歸深度(recursion depths)控制何時退出遞歸 # if n ==1: # octagon(x, y, r) # return # 根據八面形的半徑控制,當半徑小于10時,退出遞歸 if r < 10: octagon(x, y, r) return r2 = r / (1 1 / math.tan(math.radians(45 / 2))) octaflake(x, y, r - 2 * r2, n - 1) direction = 90 for _ in range(8): up() goto(x, y) seth(direction) fd(r - r2) octaflake(xcor(), ycor(), r2, n - 1) direction = 45 def main(): screen = Screen() screen.setup(800, 600) screen.title('cloudcloder出品--畫雪花') bgcolor('royal blue') fillcolor('white') pencolor('steel blue') speed(0) screen.tracer(0, 0) octaflake(-200, -200, 70, 1) octaflake(-50, -50, 80, 2) octaflake(-190, 100, 50, 3) octaflake(200, 100, 80, 4) octaflake(-190, 200, 50, 3) octaflake(-190, 0, 50, 3) octaflake(180, -140, 120, 5) screen.update() done() if __name__ == "__main__": hideturtle() up() goto(-260, 270) write("今日頭條-cloudcoder出品", align='left', font=('fangsong', 14, 'normal')) showturtle() main()

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
怎樣判斷cpu是第幾代
怎樣判斷cpu是第幾代
1、cpu開頭的i7、i5、i3,這是性能分級,i7最高,i3最低(當然酷睿i下面還有更低級的奔騰和賽揚等)。2、在桌面處理器中,通常i3是雙核四線程,i5是四核四線程,i7是四核八線程,i7還有高端版本是六核12線程甚至更高規格的。3、後面四位數字,例如6700”,首位6”表示代數,即第六代,第六代酷睿i處理器的核心代号是skylake,工藝是14納米。
2025-12-23
摩托車技術漂移方法是什麼
摩托車技術漂移方法是什麼
1、首先在過彎道的時候,我們要持續地輕加油門,這是因為在加油門的時候,你的摩托車重心會移到後輪,前輪就會沒有那麼大的負擔,這時候就能開始我們的漂移了!記住加油門不要太猛,不然很容易摩托車失去控制,加油門的時候手一定要穩!2、然後我們就要開始入彎了,首先要把推舵打下去,這樣你的摩托車才會變得傾斜,倒得差不多了就開始擰油門加速,一定要慢慢地加,不要一下加太猛,車身這時候會慢慢升高,當車身到達一定的角度
2025-12-23
車一夜沒熄火會怎麼樣
車一夜沒熄火會怎麼樣
1、産生積碳。其實積碳是目前所有燃油車車主不可避免的問題,積碳就是燃油在不完全燃燒時,所産生的膠質經過發動機反複高溫的作用下,不斷積累形成的硬質膠結碳。怠速情況下,由于進氣量小,一來不能對進氣道等相關部位進行沖刷,另外一方面也造成氧氣少,這樣更容易燃燒不充分,從而更容易産生積碳。2、耗油甚至被迫熄火。雖然是怠速,但發動機也是運轉的,也就要消耗油量,這個油耗是多少呢,有的說在不開空調的情況下的油耗是
2025-12-23
汽車電瓶怎麼總是自己放電
汽車電瓶怎麼總是自己放電
1、如正極闆的活性物質是二氧化鉛,但極闆栅架的材料又是鉛質,這樣在正極闆本身就形成了一個電池,對于負極闆來說,雖然它是由純鉛做的,但也隻是相對而言的,其實在它裡面也避免不了含有少量的其他金屬雜質,也會形成小電池。而這些小電池本身的電路又是閉合的,所以産生自行放電。2、造成自行放電原因是蓄電池内部混入了有害的雜質,特别是混入了那些比鉛電位高的金屬雜質(如銅、鐵等)危害更大。3、其次,蓄電池上蓋破裂或
2025-12-23
自動洗衣機不進水了怎麼處理
自動洗衣機不進水了怎麼處理
1、全自動洗衣機不進水,如果是電源插座和接頭不合要及時更換電源插座,避免使用時間長了把插座燒壞引起火災。2、如果是上下通水管堵塞,那就要進行清洗冰箱,其實這樣的原因是最長見到的現象。為了避免這樣現象的發生,最好在使用一段時間以後就要對洗衣機進行清洗,這樣就可以很好的避免問題出現。
2025-12-23
Copyright 2023-2025 - www.tftnews.com All Rights Reserved