Python 科赫雪花小包裹 問題

2021-10-05 09:30:50 字數 1545 閱讀 3488

要求實現的功能:

在turtle畫板上隨機位置(不超過畫板),產生隨機大小(合適的大小)的科赫雪花,並且雪花的數量也是隨機的,在[2,10]之間

實現**:

# @time : 2020/4/13

# @file : chap04.py

# @title : "科赫雪花小包裹"問題,要求雪花位置隨機(畫布之內),雪花個數隨機[2,10]之間。雪花大小隨機(適合的大小)

# @software: pycharm

import turtle as t

import random

#繪製科赫曲線

defdrawcurve

(len

,n):

if n==0:

t.fd(

len)

else

:for angle in[0

,60,-

120,60]

: t.left(angle)

drawcurve(

len/

3,n-1)

#繪製一朵科赫雪花

defdrawsnowflake

(size,n)

:for i in

range

(n):

drawcurve(size,n)

t.right(

120)

defrand_snow

(po_x,po_y,size,n)

:#去到隨機位置

t.penup(

) t.goto(po_x,po_y)

t.pendown(

)#調整隨機數量,隨機合適大小

t.begin_fill(

) drawsnowflake(size,n)

t.end_fill()n=

3t.setup(

800,

800)

t.pensize(1)

t.speed(9)

t.bgcolor(

'#0032c8'

)#畫筆顏色和填充圖形的顏色都是白色

t.color(

'white'

,'white'

)#產生隨機的雪花數量

snow_num = random.randint(2,

10)for i in

range

(snow_num)

:#產生隨機的位置座標po_x,po_y,隨機雪花大小snow_size

po_x = random.randint(

-360

,360

) po_y = random.randint(

-360

,360

) snow_size = random.randint(15,

40)rand_snow(po_x,po_y,snow_size,n)

t.hideturtle(

)t.done(

)

科赫雪花繪製小包裹

遞迴思想 函式加分支 遞迴鏈條 線段的組合 遞迴基例 初始線段 科赫雪花繪製小包裹 import turtle as tu defkoch size,n if n 0 tu.fd size else for angle in 0 60,120,60 tu.left angle koch size 3...

例項八 科赫雪花小包裹

三階科赫曲線的繪製 import turtle def koch size,n if n 0 turtle.fd size else for angle in 0,60,120,60 turtle.left angle koch size 3,n 1 def main turtle.setup 80...

Python 科赫雪花繪製

科赫曲線繪製 kochdrawv1.py import turtle def koch size,n size表示繪製科赫曲線的每乙個直線的長度,n表示繪製的階數 if n 0 turtle.fd size 繪製一條直線 else for angle in 0,60,120,60 turtle.le...