欢迎光临!
若无相欠,怎会相见

趣味编程之Python画花

前言

如果不是看了一个微信公众号的文章,我还真的不知道,Python能画出如此漂亮的花朵!然后我就来兴趣了,自己也来试试用Python画花。效果图如下:

实验环境

系统 Windows 10
Python版本 Python 2.7.13
模块 turtle

画花步骤

  1. 先使用模块创造一个窗口。代码如下
    import turtle
    def draw_art():             # 定义函数
        window=turtle.Screen()  # 获得一个窗口句柄
        window.bgcolor("blue")  # 把背景设为蓝色
        window.exitonclick()  # 当点击一下窗口会自动关闭
    draw_art()  # 调用函数

  2. 在画布上添上海龟,代码如下:
    import turtle
    def draw_art():
        window=turtle.Screen()
        window.bgcolor("blue")
        # 创建一个Turtle的实例这里用了类的概念,实例化一个Turtle。
        brad=turtle.Turtle()
        brad.shape("turtle")  # 形状是一个海龟除了画海龟还可以画箭头,圆圈等等
        brad.color("orange")  # 颜色是橙色
        brad.speed('slow')    # 画的速度是快速 fast  慢 slow
        window.exitonclick()  # 当点击一下窗口会自动关闭
    draw_art()      # 调用函数

  3. 让海龟走两步。让海龟向前走100步,再向右转45度走100步。
    import turtle
    def draw_art():
        window=turtle.Screen()
        window.bgcolor("blue")
        brad=turtle.Turtle()  #创建一个Turtle的实例
        brad.shape("turtle")  #形状是一个海龟除了画海龟还可以画箭头,圆圈等等
        brad.color("orange")  #颜色是橙色
        brad.speed('slow')  #画的速度是快速
        brad.forward(100)#向前走100步
        brad.right(45)#然后海龟头向右转45度
        brad.forward(100)#继续向前走100步
        brad.right(135)#然后有向右转135度
        # brad.forward(100)  # 继续向前走100步
        # brad.right(45)  # 然后海龟头向右转45度
        # brad.forward(100)  # 继续向前走100步
        window.exitonclick()
    draw_art()#调用函数

  4. 画一个菱形。菱形可以用上一步的代码循环得到
    import turtle
    def draw_diamond(turt):
        for i in range(1,3):
            turt.forward(100)#向前走100步
            turt.right(45)#然后海龟头向右转45度
            turt.forward(100)#继续向前走100步
            turt.right(135)#然后有向右转135度
    def draw_art():
        window=turtle.Screen()
        window.bgcolor("blue")
        brad=turtle.Turtle() #创建一个Turtle的实例
        brad.shape("turtle")#形状是一个海龟除了画海龟还可以画箭头,圆圈等等
        brad.color("orange")#颜色是橙色
        brad.speed('slow')#画的速度是快速
        draw_diamond(brad)#抽象一个新的函数,专门画菱形
        window.exitonclick()
    draw_art()#调用函数

  5. 画出一朵漂亮的花朵。我们以一个菱形为花瓣,菱形向右(左)旋转10度,然后继续画一个花瓣出来,一直循环360度,由于旋转角度是10度,360度需要旋转36次,也就是说需要循环36次。请看源代码
    import turtle
    def draw_diamond(turt):
        for i in range(1,3):
            turt.forward(100)  # 向前走100步
            turt.right(45)     # 然后海龟头向右转45度
            turt.forward(100)  # 继续向前走100步
            turt.right(135)    # 然后有向右转135度
    def draw_art():
        window=turtle.Screen()
        window.bgcolor("blue")
        brad=turtle.Turtle()  # 创建一个Turtle的实例
        brad.shape("turtle")  # 形状是一个海龟除了画海龟还可以画箭头,圆圈等等
        brad.color("orange")  # 颜色是橙色
        brad.speed('fast')    # 画的速度是快速
        for i in range(1,37):   # 循环36次
            draw_diamond(brad)  # 单画一个菱形也就是花瓣
            brad.right(10)      # 旋转10度
        brad.right(90)          # 当花全部花完一周后,把海龟的头向右转90度
        brad.forward(300)       # 花一根长的线
        window.exitonclick()
    draw_art()  # 调用函数

    其效果就是文章的第一幅图片。

注:本文主要参考 http://mp.weixin.qq.com/s/NddbEDJyWETT_JUthzl4PA

赞(0) 打赏
转载请注明:飘零博客 » 趣味编程之Python画花
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

欢迎光临