首页
/
每日頭條
/
科技
/
python畫蝸牛号
python畫蝸牛号
更新时间:2025-11-15 09:30:57
介紹

用遞歸和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
推荐阅读
九年級數學概念題10道及答案
九年級數學概念題10道及答案
初中數學有關圓的知識考點在中考中,是每年必考的考點之一,也是大家在學習的過程當中作為重點和難點來學習的部分,可見其重要性。初中數學圓的知識考點在中考中,是每年必考的考點之一,也是大家在學習的過程當中作為重點和難點來學習的部分,可見其重要性。...
2025-11-15
電子工業防靜電地坪的選型及應用
電子工業防靜電地坪的選型及應用
電子工業制造的車間地面由于行業及生産環境的特殊性,使用的地坪需要滿足相對潔淨、防靜電以及業務單位的技術需求。另外,地面和空氣中産生的灰塵也很容易粘附到産品/器件的縫隙裡,導緻産品或器件發生故障,對公司的損失是非常大的。所以,電子車間對地面的...
2025-11-15
鍵盤鍵位錯誤怎麼解決
鍵盤鍵位錯誤怎麼解決
鍵盤鍵位錯誤怎麼解決?首先打開電腦,依次打開【開始菜單】-【所有選項】-【附件】-【運行】選項,打開【運行】窗口(win7以上系統的話可以同時按下”win+R“鍵,但是如果鍵盤有錯誤的話就不一定能打開了),今天小編就來聊一聊關于鍵盤鍵位錯誤...
2025-11-15
共享文件夾更新
共享文件夾更新
其實簡單:不管你是安卓還是iphone,都下載es文件浏覽器,這個app。然後打開軟件,最好麼注冊一下,我習慣軟件都注冊一下,因為對于你做的一些個性化的設置和操作,一般都會有保存,便于你後期換手機,或者換設備去使用的時候更方便,不注冊問題也...
2025-11-15
汽車鋼材和鋁合金
汽車鋼材和鋁合金
我曾經寫過幾篇關于機油方面的文章,裡面說舊機油中會有含有鐵屑。結果今天在一篇文章中看到一則評論,說我的發動機是全鋁發動機,哪來的鐵屑啊?老侯你純粹是胡說八道,唬人呢。下面竟然還有一大群人跟着附和,說全鋁發動機裡面根本就沒有鐵,怎麼會磨下來鐵...
2025-11-15
Copyright 2023-2025 - www.tftnews.com All Rights Reserved