首页
/
每日頭條
/
科技
/
python畫蝸牛号
python畫蝸牛号
更新时间:2025-12-28 15:11:27
介紹

用遞歸和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
推荐阅读
寬帶網線電腦連接方法
寬帶網線電腦連接方法
寬帶網線電腦連接方法?光纖插入到光貓的PON口中,接通光貓電源線,打開光貓通電開關網線的一段連接到光貓的任意網口(LAN)中,另一端連接到電腦的網絡接口中,我來為大家科普一下關于寬帶網線電腦連接方法?以下内容希望對你有幫助!寬帶網線電腦連接...
2025-12-28
ps用哪個版本好
ps用哪個版本好
前段時間看到有人問PS應該選擇哪個版本好,我覺得考慮這個問題,主要是針對電腦造成的負擔問題來考慮,畢竟,PS常用功能哪個版本都差不會太多,即使某些版本有點小缺失,用其他辦法還是可以達到理想的效果的。CC2017啟動界面(來源網絡)-----...
2025-12-28
怎麼樣在沒有u盤情況下重裝系統
怎麼樣在沒有u盤情況下重裝系統
怎樣在不使用U盤的前提下,進行系統重裝?你可以使用系統鏡像直接安裝系統這種方式更加簡單易懂,按以下順序即可完成!為了在系統重裝後更方便地安裝驅動,建議在操作前将必要驅動下載到本地磁盤或是外部存儲設備中,尤其是網卡驅動。下載後無需安裝,在系統...
2025-12-28
win7系統電腦取消開機密碼
win7系統電腦取消開機密碼
win7系統電腦取消開機密碼?Win7系統怎麼設置開機密碼?其實電腦設置開機密碼的方法非常簡單,但是還有很多小白不清楚這個操作,今天就給大家介紹具體步驟,今天小編就來說說關于win7系統電腦取消開機密碼?下面更多詳細答案一起來看看吧!win...
2025-12-28
gif制作工具使用方法
gif制作工具使用方法
和視頻相比,GIF動圖具備容量小,易傳播的優勢,因此深受很多年輕用戶的歡迎。問題來了,在過去我們想要制作GIF、将視頻轉換為GIF或是想把GIF圖片壓縮時,往往都需要借助PC才能完成。那麼,當身邊沒有PC時,如何直接在Android手機上完...
2025-12-28
Copyright 2023-2025 - www.tftnews.com All Rights Reserved