首页
/
每日頭條
/
科技
/
python畫蝸牛号
python畫蝸牛号
更新时间:2024-11-18 14:44:15
介紹

用遞歸和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
推荐阅读
雲頂之弈黑夜亞索主c流陣容搭配
雲頂之弈黑夜亞索主c流陣容搭配
陣容決定下限,裝備決定上限,運營才是王道。大家好我是摩昂。如果您感覺攻略還不錯,麻煩在文末點個贊,這對摩昂非常重要。11.13版本更新已經快一周時間了,這版本上分思路非常穩定,“左手秘光遊俠右手聖光大眼”,這兩套陣容一套雙抗極高,一套挂4秘...
2024-11-18
愛普生針式打印機的驅動怎麼安裝
愛普生針式打印機的驅動怎麼安裝
一.現象描述:在Windows系統下,針式機裝好驅動後從計算機上發送打印命令,打印機沒反應,同時計算機和打印機均沒有出錯信息提示。二.主要原因分析:1.打印機驅動程序中端口設置錯誤;2.打印機沒有被設置為默認打印機;3.打印機被設置為脫機打...
2024-11-18
硬盤的異常怎麼解決
硬盤的異常怎麼解決
電腦無法正常啟動,顯示硬盤錯誤信息,但是裡面有非常重要的數據,首先可以通過制作U盤啟動盤,通過WINDOWPE是否能正常看到硬盤的内容,如果硬盤不轉,摸上去沒有馬達轉動時的震動感,有可能是電路闆壞了,有可能是電機壞了,電機壞的概率不高,電路...
2024-11-18
pcie是共享總線嗎
pcie是共享總線嗎
主闆上插槽多就一定是高端貨嗎?答案可不一定哦!尤其是普通家用PC的CPU——這個負責控制PCI-E通道的家夥,能提供的也是“定量”的PCI-E通道數,多出來的插槽,可能就是個噱頭而已。PCI-E插槽長短不一究竟為啥?小夥伴們一定發現了,主闆...
2024-11-18
升級版磁性數據線
升級版磁性數據線
想要給自已的iphone找一根合适的備用數據線嗎?又或者是想體驗一種全新的充電方式?不如來嘗試下CabinCable-iPhone磁力數據線吧!如果用過蘋果的MACBOOK那麼你一定不會忘記那個磁力的充電接頭,而這款數據線同樣也是那樣的設計...
2024-11-18
Copyright 2023-2024 - www.tftnews.com All Rights Reserved