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

用遞歸和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
推荐阅读
華為手機mate怎麼返回就要從新開始了
華為手機mate怎麼返回就要從新開始了
華為手機mate怎麼返回就要從新開始了?查看系統高耗電提醒時是否關閉了該應用,當有應用高耗電提醒時,選擇不再提示,不要将該應用直接關閉,現在小編就來說說關于華為手機mate怎麼返回就要從新開始了?下面内容希望能幫助到你,我們來一起看看吧!華...
2025-12-02
鐵絲的規格型号
鐵絲的規格型号
鐵絲的規格型号?鐵絲規格型号如下:(1)型号:0英制:0.3中國MM:8.23,我來為大家講解一下關于鐵絲的規格型号?跟着小編一起來看一看吧!鐵絲的規格型号鐵絲規格型号如下:(1)型号:0英制:0.3中國MM:8.23。(2)型号:1英制:...
2025-12-02
防沉迷還能借号嗎
防沉迷還能借号嗎
防沉迷還能借号嗎?全國首例基于保護未成年人針對遊戲代練平台作出的禁令,我來為大家科普一下關于防沉迷還能借号嗎?下面希望有你要的答案,我們一起來看看吧!防沉迷還能借号嗎全國首例基于保護未成年人針對遊戲代練平台作出的禁令架空“防沉迷”系統“代練...
2025-12-02
vivox7有互傳功能嗎
vivox7有互傳功能嗎
vivox7有互傳功能嗎?vivo互傳文件傳輸的好幫手互傳功能的實現需要兩台手機都安裝這一應用,但假如隻有一台手機安裝,可通過互傳中邀請好友下載互傳為另一部手機進行零流量安裝其中藍牙分享、零流量熱點分享可實現免流量,掃二維碼分享需要流量,下...
2025-12-02
非農數據六大未解之謎
非農數據六大未解之謎
非農數據六大未解之謎?本文來自金十數據,謝絕轉載非農報告還有6大疑問,接下來我們就來聊聊關于非農數據六大未解之謎?以下内容大家不妨參考一二希望能幫到您!非農數據六大未解之謎本文來自金十數據,謝絕轉載非農報告還有6大疑問。(圖源:子圖網)上周...
2025-12-02
Copyright 2023-2025 - www.tftnews.com All Rights Reserved