首页
/
每日頭條
/
科技
/
python畫蝸牛号
python畫蝸牛号
更新时间:2025-12-20 00:58:22
介紹

用遞歸和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-20
如何提前還車貸
如何提前還車貸
1、先提出申請:幾乎所有汽車貸款平台的車貸都一樣;都需要正常還款滿6個月以上才可以提出提前還款的申請。另外,提前還款也需要提前提出書面還款申請,拿銀行的汽車貸款來舉例,提前還款需要提前1周或者是1個月提出書面申請,在銀行或者是貸款平台同意,并約定好提前還款的日期之後,才能進行提前還款。2、還貸未滿一...
2025-12-20
信息與計算科學專業怎麼樣 就業前景如何
信息與計算科學專業怎麼樣 就業前景如何
在高考志願填報時,關于信息與計算科學專業的就業前景是很多考生所關心的問題。下面是由本站編輯為大家整理的“信息與計算科學專業怎麼樣就業前景如何”。信息與計算科學專業培養目标本專業培養具有高尚的道德情操、堅實的理學基礎、良好的算法設計素養、滿足國家和社會重大需求的領軍人才。專業秉承“厚基礎、寬口徑、重交...
2025-12-20
嫦娥一号發射時間
嫦娥一号發射時間
1、嫦娥一号在2007年10月24日18時05分(UTC+8時)左右,嫦娥一号衛星在西昌衛星發射中心...
2025-12-20
電機正反轉指示燈怎麼接
電機正反轉指示燈怎麼接
1、按下正轉啟動按鈕SB1時,電動機正向啟動;正轉指示燈亮。2、按下反轉啟動按鈕SB2時,電動機反向...
2025-12-20
Copyright 2023-2025 - www.tftnews.com All Rights Reserved