Python-通过递归函数用乌龟画花

时间:2018-11-07 18:47:03

标签: python turtle-graphics

我正试图用num花瓣画乌龟图形的花朵。但是,当我运行代码时,我只能打印出一张花瓣。我收到的错误在代码的def flower(num, i = 1)部分下,但是我不确定如何解决。

import time
from turtle import *

pensize(2)
pencolor("orange")
bgcolor("green")
fillcolor("blue")
hideturtle()

def halfPetal():
    forward(50)
    left(30)
    forward(75)
    left(30)
    forward(50)
    left(120)

def petal():
    for i in range(2):
        halfPetal()

def flower(num, i=1):
    if i==1:
        begin_fill()
        for i in range(num):
            petal()
            left(360/petal())
        end_fill()

flower(12)
time.sleep(10)

1 个答案:

答案 0 :(得分:2)

至少有一个问题:

        left(360/petal())

petal不返回值,因此您尝试除以None。 Python中没有这样的操作,因此会出现致命错误。相反,我认为您需要除以要绘制的花瓣数量:

        left(360.0 / num)