pycharm运行画五角星程序后,出不来图形

老师,运行完程序什么反应都没有,这是为什么啊?    
"""
    作者:梁斌
    功能:利用递归函数绘制分形树
    版本:1.0
    日期:03/08/2017
"""
import turtle


def draw_branch(branch_length):
    """
        绘制分形树
    """
    if branch_length > 5:
        # 绘制右侧树枝
        turtle.forward(branch_length)
        print('向前 ', branch_length)
        turtle.right(20)
        print('右转 20')
        draw_branch(branch_length - 15)

        # 绘制左侧树枝
        turtle.left(40)
        print('左转 40')
        draw_branch(branch_length - 15)

        # 返回之前的树枝
        turtle.right(20)
        print('右转 20')
        turtle.backward(branch_length)
        print('向后 ', branch_length)


def main():
    """
        主函数
    """
    turtle.left(90)
    turtle.penup()
    turtle.backward(150)
    turtle.pendown()
    turtle.color('brown')
    draw_branch(80)
    turtle.exitonclick()

    if __name__ == '__main__':
     main()
QQ截图20171208004112.png

MatrixC

赞同来自:

是不是因为你没有在代码中没有调用这个函数?你可以把代码都贴出来看看

Robin_TY - PhD@CSU,研究方向:计算机视觉,模式识别

赞同来自:

注意python代码的结构是通过缩进体现的,在你的代码中 if __name__ == '__main__':    ... 是在man()函数中,是错误的。正确的写法应该和main()函数是同一层级,具体再看下示例代码,自己改正下,加深下印象。

Robin_TY - PhD@CSU,研究方向:计算机视觉,模式识别

赞同来自:

def main():
    """
        主函数
    """
    turtle.left(90)
    turtle.penup()
    turtle.backward(150)
    turtle.pendown()
    turtle.color('brown')
    draw_branch(80)
    turtle.exitonclick()
 
# 注意缩进
if __name__ == '__main__':
    main()

Jessicaly

赞同来自:

if __name == '__main__' 要缩进到行开头,与main 在同一级别

要回复问题请先登录注册