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

用遞歸和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
推荐阅读
王者榮耀藍色英雄增加熟練度
王者榮耀藍色英雄增加熟練度
山河不足重,重在遇知已。好久不見,别來無恙。來自小助理的文章推送~王者榮耀為了增加大家的日活,推出了很多通過活躍度就可以拿到獎勵的系統,比如榮耀戰令,夢境試煉等等,在接下來的版本中,王者榮耀又要推出一個新的系統,陣營系統,通過英雄熟練度就可...
2025-12-05
允許外來應用安裝設置在哪
允許外來應用安裝設置在哪
允許外來應用安裝設置在哪?首先找到手機桌面的設置,在設置下找到更多設置,下面我們就來說一說關于允許外來應用安裝設置在哪?我們一起去了解并探讨一下這個問題吧!允許外來應用安裝設置在哪首先找到手機桌面的設置,在設置下找到更多設置。然後在更多設置...
2025-12-05
華為手機怎麼把充電提示音關了
華為手機怎麼把充電提示音關了
一、華為手機充電提示音怎麼關閉:1、大部分機型适用方法,第1步打開手機中的設置,在設置中我們打開聲音和震動;2、第2步我們将媒體和鈴聲的聲音關閉,像這樣我們的華為手機在充電的時候,提示音就已經被關閉了。|二、如果是榮耀8系列的華為手機:1、...
2025-12-05
任何顯卡都能搭配任何主闆嗎
任何顯卡都能搭配任何主闆嗎
之前我們評測過兩款RTX3090,它們的性能、外觀上都各有春秋,但在玩燈方面還少了點意思,畢竟有些人喜歡無光污染,有些人則喜歡一套RGB主機。而如何把顯卡的燈效與主機裡的其它燈效同步一直困擾很多人,雖然理論上都是12VRGB或者5VARGB...
2025-12-05
蘋果手機怎麼開熱點
蘋果手機怎麼開熱點
蘋果手機怎麼開熱點?首先我們打開手機的設置在設置中選擇數據流量,現在小編就來說說關于蘋果手機怎麼開熱點?下面内容希望能幫助到你,我們來一起看看吧!蘋果手機怎麼開熱點首先我們打開手機的設置。在設置中選擇數據流量。将數據流量打開。然後在回到設置...
2025-12-05
Copyright 2023-2025 - www.tftnews.com All Rights Reserved