首页
/
每日頭條
/
科技
/
python畫蝸牛号
python畫蝸牛号
更新时间:2025-12-27 03:08:24
介紹

用遞歸和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
推荐阅读
微信投票小程序怎麼弄
微信投票小程序怎麼弄
微信投票小程序怎麼弄具體操作步驟如下:1、打開“微信”,進入微信主頁面。2、點擊“發現”,進入微信發現主頁面。3、點擊“小程序”,進入微信小程序主頁面。4、點擊“搜索小程序”,進入搜索小程序頁面。5、搜索“群投票”,進入群投票頁面。6、點擊“群投票”,進行相關流程操作最後分享到群即可。1、打開“微信...
2025-12-27
qq注銷賬号怎麼注銷
qq注銷賬号怎麼注銷
qq注銷賬号怎麼注銷具體操作步驟如下:1、打開“qq”,進入qq主界面。2、點擊左上角“小頭像”,進入qq功能界面。3、點擊“賬号安全”,進入賬号安全頁面。4、點擊“注銷賬号”,完成申請注銷流程即可。1、打開“qq”,進入qq主界面。2、點擊左上角“小頭像”,進入qq功能界面。3、點擊“賬号安全”,...
2025-12-27
excel如何快速下拉到底
excel如何快速下拉到底
excel表格快速下拉到底的具體操作方法如下:1、打開wps應用内的excel表格。2、用鼠标左鍵單擊選定一個單元格。3、按下快捷鍵“ctrl+向下箭頭”,excel表格就會從選定的單元格那一列,快速下拉到底。1、打開wps應用内的excel表格。2、用鼠标左鍵單擊選定一個單元格。3、按下快捷鍵“c...
2025-12-27
微信自動扣費怎麼關閉
微信自動扣費怎麼關閉
微信自動扣費的關閉方法如下:1、打開微信app。2、點擊右下角的“我”。3、點擊“支付”。4、點擊右上角的三個小點按鈕,進入支付管理頁面。5、進入“扣費服務”中即可查看到自動扣費的項目,操作關閉即可。1、打開微信app。2、點擊右下角的“我”,進入個人中心。3、點擊“支付”,進入支付服務頁面。4、點...
2025-12-27
微信朋友圈分組怎麼删除
微信朋友圈分組怎麼删除
微信朋友圈分組的删除方法如下:1、打開微信app。2、點擊右下方的“發現”。3、點擊“朋友圈”按鈕。4、長按右上角的相機按鈕,進入朋友圈的編輯頁面。5、進入“誰可以看”的頁面,從部分可見中進入分組。6、左滑分組中的好友即可進行删除。1、打開微信app。2、點擊右下方的“發現”,進入發現頁面。3、點擊...
2025-12-27
Copyright 2023-2025 - www.tftnews.com All Rights Reserved