首页
/
每日頭條
/
科技
/
python畫蝸牛号
python畫蝸牛号
更新时间:2026-01-17 18:41:32
介紹

用遞歸和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、插入即可。
2026-01-17
無線話筒使用注意事項有哪些
無線話筒使用注意事項有哪些
1、手不要握在話筒的網頭上。所有話筒的受話部分都是有一定指向性的,要是手握在網罩上,會破壞頻率響應,還會由于手掌的聚集效應、産生聚焦、回授等。2、手不要握緊話筒的天線發射部位。手持式話筒,發射電路及天線都位于話筒下部,所以手不要握緊話筒的天線發射部位,這樣會大大的衰減發射功率,影響接收效果。3、不要...
2026-01-17
怎樣設置sim卡密碼
怎樣設置sim卡密碼
以蘋果11,iOS14為例:點擊手機中的設置,找到設置中的電話。點擊電話進入到電話之後,滑動到界面最底部,可以看到SIM卡相關的兩個功能,一個是SIM卡應用程序,另外一個是SIM卡PIN碼。點擊SIM卡PIN碼進入,當前顯示開關為關閉狀态,更改PIN碼功能為灰色不可用狀态。打開開關會進入到密碼輸入界...
2026-01-17
華為mate20pro超級快充怎麼設置
華為mate20pro超級快充怎麼設置
1、華為手機的超級快充是不需要設置的,隻要使用随手機附帶的原裝充電器和USB連接線即可實現超級快充。2、華為Mate20Pro的40W超級快充,正是利用電荷泵原理,将電量通過4A的通道送進手機,再由電荷泵将充電電壓降到5V左右,同時将電流從4A提升到8A,給電池進行充電,最終實現近乎100%的充電轉...
2026-01-17
汽車急加速頓挫很嚴重是什麼問題
汽車急加速頓挫很嚴重是什麼問題
1、節氣門、噴油嘴、進氣道積碳較多。受積碳影響導緻的故障很多,有些車輛會産生頓挫感也是和積碳有關系,建議平時注意清理積碳。2、燃油品質不合格,燃燒不充分。3、火花塞、點火線圈等故障,造成缺缸等。這種就需要到店裡檢查處理,并及時進行維修,避免産生更多的安全隐患。
2026-01-17
Copyright 2023-2026 - www.tftnews.com All Rights Reserved