首页
/
每日頭條
/
科技
/
python畫蝸牛号
python畫蝸牛号
更新时间:2026-01-02 21:17:58
介紹

用遞歸和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
推荐阅读
魅族手機如何充公交卡
魅族手機如何充公交卡
魅族手機如何充公交卡?選擇一款公交卡充值軟件,各地的充值軟件略有差異,今天小編就來說說關于魅族手機如何充公交卡?下面更多詳細答案一起來看看吧!魅族手機如何充公交卡選擇一款公交卡充值軟件,各地的充值軟件略有差異。一般手機首次充值前未開通NFC...
2026-01-02
蘋果手機門禁卡nfc功能
蘋果手機門禁卡nfc功能
蘋果手機門禁卡nfc功能?在手機上打開【錢包APP】,并打開右上角的“+”号,接下來我們就來聊聊關于蘋果手機門禁卡nfc功能?以下内容大家不妨參考一二希望能幫到您!蘋果手機門禁卡nfc功能在手機上打開【錢包APP】,并打開右上角的“+”号。...
2026-01-02
win7台式電腦怎麼連wifi
win7台式電腦怎麼連wifi
win7台式電腦怎麼連wifi?打開浏覽器後,在地址欄輸入TP_LINK路由器的IP,一般是1.92168.1.1,回車你可以從路由器的說明書上找到;,下面我們就來聊聊關于win7台式電腦怎麼連wifi?接下來我們就一起去了解一下吧!win...
2026-01-02
話費充到原來的手機上怎麼退回
話費充到原來的手機上怎麼退回
話費充到原來的手機上怎麼退回?相信很多人有有過話費沖錯了的經曆,我也經曆過2次,一次是别人給我充了100塊,另一次是我給别人充了100塊,兩次都是話費沖錯了,接下來我們就來聊聊關于話費充到原來的手機上怎麼退回?以下内容大家不妨參考一二希望能...
2026-01-02
看網頁視頻慢怎麼解決
看網頁視頻慢怎麼解決
看網頁視頻慢怎麼解決?如果在播放網頁視頻時經常出現緩沖的情況,先排除網絡不給力的原因如果是通過路由器上網,可以看看手機的情況,手機也很慢也緩沖,就斷開路由器,電腦直接連光貓上網試試,今天小編就來聊一聊關于看網頁視頻慢怎麼解決?接下來我們就一...
2026-01-02
Copyright 2023-2026 - www.tftnews.com All Rights Reserved