要求实现的功能:
在turtle画板上随机位置(不超过画板),产生随机大小(合适的大小)的科赫雪花,并且雪花的数量也是随机的,在[2,10]之间。
实现代码:
# @Time : 2020/4/13
# @File : Chap04.py
# @Title : "科赫雪花小包裹"问题,要求雪花位置随机(画布之内),雪花个数随机[2,10]之间。雪花大小随机(适合的大小)
# @Software: PyCharm
import turtle as t
import random
#绘制科赫曲线
def drawcurve(len,n):
if n==0:
t.fd(len)
else:
for angle in [0,60,-120,60]:
t.left(angle)
drawcurve(len/3,n-1)
#绘制一朵科赫雪花
def drawsnowflake(size,n):
for i in range(n):
drawcurve(size,n)
t.right(120)
def rand_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=3
t.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()