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

用遞歸和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
推荐阅读
iphone真的可以稱重嗎
iphone真的可以稱重嗎
長期以來Android手機在功能上都以絕對優勢碾壓iPhone,但是最近iPhone被曝光了一項非常厲害的黑科技,竟然可以用iPhone手機的屏幕來稱物體的重量。iPhone手機稱重的基本硬件條件并不是所有的iPhone手機都可以稱取物體的...
2025-12-17
bonks音響怎麼連接dx15
bonks音響怎麼連接dx15
H2立體聲USB小音箱再發史低價,天貓再次降至9塊9到手:黑白紅黃等多色可選,搭配玩家不同的喜好和設備配色。總結文末放糧——關注趣賺商城,點贊轉發本文之後,發私信【11】領票上車。今日頭條極速版、不能收發私信的讀者,可以點我頭像看置頂微頭條...
2025-12-17
2022年河北科技大學非全日制研究生報考時間
2022年河北科技大學非全日制研究生報考時間
河北科技大學坐落于河北省石家莊市,占地2760畝,由原河北輕化工學院、河北機電學院、河北省紡織職工大學、河北紡織工業學校合并組建而成。1956年舉辦高等教育,在多年的辦學曆程中,學校始終堅持“緻力于人的全面發展,服務于區域經濟建設和社會進步...
2025-12-17
小米最新發展戰略
小米最新發展戰略
2月8日,中國互聯網又迎來了一個背後擁有傳奇企業支持的公司的消息--華米科技登陸美股納斯達克,正式上市!作為小米生态鍊的一席,華米科技登陸紐交所當然離不開一個拉風男人在背後的支持,他就是小米的領軍人物雷軍。消息稱,此次華米科技共發行1000...
2025-12-17
excel表格核對兩列不同數據
excel表格核對兩列不同數據
工作中我們經常會去核實數據是否有差異,如在倉庫出單的時候,我們要看一下有哪些訂單已經發送出去,這個時候我們就需要對比兩列訂單是否有差異點。今天小編就教大家兩個最快速度核對兩列數據差異的方法。如上圖,我們需要核對倉庫訂單号有哪些單号已經發出去...
2025-12-17
Copyright 2023-2025 - www.tftnews.com All Rights Reserved