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

用遞歸和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
推荐阅读
微信8.0.24版本有什麼新功能
微信8.0.24版本有什麼新功能
微信8.0.24版本有什麼新功能?微信作為我們經常用到的通訊工具,更新也比較頻繁,就在近期微信已經更新到了8.0.15版本通過一段時間的體驗,發現新增了6個超實用的功能,真的是太好用了,讓我們一起看看吧(文章末尾有彩蛋,不要走開喲),今天小...
2025-11-12
華為如何升級鴻蒙系統
華為如何升級鴻蒙系統
華為如何升級鴻蒙系統?打開華為手機,點擊“設置”選項,下面我們就來聊聊關于華為如何升級鴻蒙系統?接下來我們就一起去了解一下吧!華為如何升級鴻蒙系統打開華為手機,點擊“設置”選項。進入設置後,點擊“系統”選項。點擊“系統更新”選項。單擊右上角...
2025-11-12
現在塞班系統手機還可以玩啥
現在塞班系統手機還可以玩啥
2018-01-1105:08:00作者:賈浩砸核桃、開啤酒,哪怕二樓扔下去也能使用,這就是一大批80後和部分90後對諾基亞手機的認識,那個時代的諾基亞絕對是手機中的王者,就像今天的蘋果手機一樣。當然諾基亞手機搭配的塞班系統也是當時不少用戶...
2025-11-12
聯想拯救者筆記本gtx與rtx
聯想拯救者筆記本gtx與rtx
IT之家9月2日消息根據外媒VideoCardz的消息,聯想官網列出了LegionT528IMB05主機的配置信息,顯示搭載了RTX3070Super顯卡。如上圖所示,聯想新款拯救者主機搭載了i7-10700處理器,2×16GBDDR4-3...
2025-11-12
米家怎麼設置全自動操作
米家怎麼設置全自動操作
文|廁所所長歡迎回到折騰工作室,上篇《還可以更方便:米家自動化功能的應用》中讨論了一下米家app的自動化功能,今天來說說另一個不太常用的功能:批量控制。讨論這個功能的初衷在于,我對電視、電腦等用電器都有用完斷電的習慣,因此每次要看電視的時候...
2025-11-12
Copyright 2023-2025 - www.tftnews.com All Rights Reserved