Python中turtle庫(五 遞迴

2021-10-23 09:01:57 字數 1806 閱讀 1152

你是否聽過:

從前有座山,山里有座廟,廟裡有兩個和尚,老和尚對小和尚說:從前有座山,山里有座廟,廟裡有兩個和尚,老和尚對小和尚說:從前有座山,山里有座廟,廟裡有兩個和尚,老和尚對小和尚說:……

要實現這段話,我們要運用遞迴

先定義乙個名為say的函式並列印

def

say():

print

("從前有座山,山里有座廟,廟裡有兩個和尚,老和尚對小和尚說:"

)say(

)

到這裡,它只能列印出一句話

遞迴:自己執行自己

所以要在函式內先執行自己

def

say():

print

("從前有座山,山里有座廟,廟裡有兩個和尚,老和尚對小和尚說:"

) say(

)say(

)

執行後編譯器會報錯

是因為我們應要有乙個出口來結束這個遞迴

若只說100次

a =

0def

say():

#將a設定為全域性變數

global a

#將a每次加一

a +=

1if a >

100:

return

print

("從前有座山,山里有座廟,廟裡有兩個和尚,老和尚對小和尚說:"

) say(

)say(

)

這樣就可以列印100次而不報錯

我們要用到random和turtle庫

import random

import turtle

pen = turtle.turtle(

)pen.speed(0)

turtle.colormode(

255)

radius =

50#半徑

defcircle()

:global radius

if radius >

200:

return

radius +=

1 pen.pencolor(random.randint(0,

255)

,random.randint(0,

255)

,random.randint(0,

255)

) pen.circle(radius)

pen.left(2)

circle(

)circle(

)

第二種

import random

import turtle

pen = turtle.turtle(

)pen.speed(0)

turtle.colormode(

255)

defcircle

(radius)

:if radius >

200:

return

pen.pencolor(random.randint(0,

255)

,random.randint(0,

255)

,random.randint(0,

255)

) pen.circle(radius)

pen.left(2)

circle(radius +1)

circle(

50)

Python中turtle庫的使用

turtle庫是python內建的圖形化模組,屬於標準庫之一,位於python安裝目錄的lib資料夾下,常用函式有以下幾種 coding utf 8 繪製蟒蛇 import turtle turtle.penup turtle.pencolor red turtle.forward 250 turt...

Python中turtle庫的基本用法

1 turtle.title 繪圖框標題 2 turtle.setup width,height,startx,starty 起始點座標 左上角相對於螢幕的座標,預設在螢幕 3 turtle.goto x,y 將海龜走到該座標位置 絕對座標 4 turtle.bk d 海龜後退 海龜座標 5 tur...

python基本庫之turtle

程式設計入門層面最常使用的基本繪相簿 import turtl turtle.setup width,height,startx,starty width,height 窗體寬和高 startx,starty 窗體離左 上邊界的距離 狀態 from turtle import pendown pd ...