Python - рисование цветка с черепахой с помощью рекурсивной функции - PullRequest
0 голосов
/ 07 ноября 2018

Я пытаюсь нарисовать цветок-черепаху с 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 голосов
/ 07 ноября 2018

Не менее одна проблема на линии:

        left(360/petal())

petal не возвращает значение, поэтому вы пытаетесь разделить на None. В Python такой операции нет, поэтому вы получаете фатальную ошибку. Вместо этого, я думаю, вам нужно разделить на количество лепестков, которые вы собираетесь нарисовать:

        left(360.0 / num)
...