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

用遞歸和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
推荐阅读
coloros12文件夾推薦應用
coloros12文件夾推薦應用
俗話說一心不可二用,但一屏可以兩用!今天給大家推薦的是ColorOS12系統的特色功能之『應用分屏』。這樣我們就可以同時看劉畊宏和李佳琪的直播啦!設置路徑設置-特色功能-應用分屏,開啟應用分屏和三指上滑啟動分屏功能的開關。如何使用應用分屏功...
2025-11-29
聯想拯救系統怎麼退出
聯想拯救系統怎麼退出
聯想拯救系統怎麼退出?看看你的機箱前面闆上是不是有個紅色撥動開關,關掉計算機,撥動那個開關到另個位置,再開機即可”如果裝XP系統藍屏的話,你把硬盤模式改為兼容模式因該就可以了,今天小編就來說說關于聯想拯救系統怎麼退出?下面更多詳細答案一起來...
2025-11-29
碧藍航線2月25日更新的艦船圖鑒
碧藍航線2月25日更新的艦船圖鑒
碧藍航線有關2月27日的改建更新内容,在近日正式公開,這個更新後将開啟北方聯合大型活動開啟,同時還有系統優化的内容,維護時間從上午9點持續到下午3點,來看看具體的更新總結吧。1.北方聯聯合活動開啟上篇時間:2.27-3.12下篇時間:2.2...
2025-11-29
手機清理垃圾方法vivo
手機清理垃圾方法vivo
手機清理垃圾方法vivo?首先我們可以清理後台的程序,給手機騰出更多的運行空間,當你手機運行程序過多的時候,也會使手機變卡頓的,所以可以點擊手機的任務按鈕,點擊【×】清除所有後台程序,減輕運行負擔,今天小編就來聊一聊關于手機清理垃圾方法vi...
2025-11-29
硬盤分區的盤符是什麼
硬盤分區的盤符是什麼
硬盤分區的盤符是什麼?對于電腦來說,硬盤通常會劃分出2-6個分區,正常情況下,不可能将從A到Z的26個盤符全部用完,因為你需要新建26個分區,這是很少見的但是近期卻有不少好奇心重的用戶咨詢這個問題,如果硬盤分區盤符分配從A到Z之後,那麼繼續...
2025-11-29
Copyright 2023-2025 - www.tftnews.com All Rights Reserved