画五角星

引入绘制图形的turtle库

import turtle
'''
    作者:Happy
    功能:五角星的绘制
    版本:1.0
    日期:2019/3/8
'''

import turtle
'''
turtle.foward(distance)
前进,从左往右
turtle.backward(distance)

turtle.right(degree)
前进方向转右
turtle.exitonclick()
'''

def main():
    '''
        主函数
    :return:
    '''

    count = 1
    
    while count <= 5:
        turtle.forward(100)
        turtle.right(144)
        count = count + 1

    turtle.exitonclick()


if __name__ == '__main__':
    main()

在这里插入图片描述

绘制不同大小的五角星

'''
    作者:Happy
    功能:五角星的绘制
    版本:2.0
    日期:2019/3/8
    新增功能:循环绘制不同大小的五角星
'''

import turtle
'''
turtle.foward(distance)
前进,从左往右
turtle.backward(distance)

turtle.right(degree)
前进方向转右

turtle.penup()

turtle.pendown()

turtle.pensize()

turtle.pencolor()
    white,black,grey,darkgreen,gold,ciolet,purple
    
turtle.exitonclick()

官方API
https://docs.python.org/3.0/library/turtle.html
'''

def draw_pentagram(size):
    '''
    绘制五角星
    :param size: 五角星的边长
    :return:
    '''
    # 计数器
    count = 1
    # 绘制五角星
    while count <= 5:
        turtle.forward(size)
        turtle.right(144)
        count += 1

def main():
    '''
        主函数
    :return:
    '''
    turtle.penup()
    turtle.backward(100)
    turtle.pendown()
    turtle.pensize(2)
    turtle.pencolor('red')

    size = 50
    while size <= 100:
        draw_pentagram(size)
        size += 10

    turtle.exitonclick()



if __name__ == '__main__':
    main()

在这里插入图片描述

迭代绘制五角星

递归:函数定义中调用函数自身
每次调用函数,函数参数会临时存储
注意一定需要终止条件

'''
    作者:Happy
    功能:五角星的绘制
    版本:3.0
    日期:3.10
    新增功能 1 :循环绘制不同大小的五角星
    新增功能 2 :使用递归(迭代)绘制五角星
'''
import turtle

def draw_recursive_pentagram(size):
    '''
        迭代绘制五角星
    '''
    count = 1
    while count <= 5:
        turtle.forward(size)
        turtle.right(144)
        count += 1

    #五角星绘制完成
    size += 10
    if size <= 100:
        draw_recursive_pentagram(size)

def main():
    '''
    主函数
    '''
    turtle.penup()
    turtle.backward(100)
    turtle.pendown()
    turtle.pensize(2)
    turtle.pencolor('blue')

    size = 50
    draw_recursive_pentagram(size)

    turtle.exitonclick()


if __name__=='__main__':
    main()

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值