python用turtle画爱心,丘比特之剑

turtle --- 海龟绘图

概述

海龟绘图很适合用来引导孩子学习编程。最初来自于 Wally Feurzeig, Seymour Papert 和 Cynthia Solomon 于 1967 年所创造的 Logo 编程语言。

请想象绘图区有一只机器海龟,起始位置在 x-y 平面的 (0, 0) 点。先执行 import turtle,再执行 turtle.forward(15),它将(在屏幕上)朝所面对的 x 轴正方向前进 15 像素,随着它的移动画出一条线段。再执行 turtle.right(25),它将原地右转 25 度。

通过组合使用此类命令,可以轻松地绘制出精美的形状和图案。

turtle 模块是基于 Python 标准发行版 2.5 以来的同名模块重新编写并进行了功能扩展。

新模块尽量保持了原模块的特点,并且(几乎)100%与其兼容。这就意味着初学编程者能够以交互方式使用模块的所有命令、类和方法——运行 IDLE 时注意加 -n 参数。

turtle 模块提供面向对象和面向过程两种形式的海龟绘图基本组件。由于它使用 tkinter 实现基本图形界面,因此需要安装了 Tk 支持的 Python 版本。

面向对象的接口主要使用“2+2”个类:

  1. TurtleScreen 类定义图形窗口作为绘图海龟的运动场。它的构造器需要一个 tkinter.Canvas 或 ScrolledCanvas 作为参数。应在 turtle 作为某个程序的一部分的时候使用。

    Screen() 函数返回一个 TurtleScreen 子类的单例对象。此函数应在 turtle 作为独立绘图工具时使用。作为一个单例对象,其所属的类是不可被继承的。

    TurtleScreen/Screen 的所有方法还存在对应的函数,即作为面向过程的接口组成部分。

  2. RawTurtle (别名: RawPen) 类定义海龟对象在 TurtleScreen 上绘图。它的构造器需要一个 Canvas, ScrolledCanvas 或 TurtleScreen 作为参数,以指定 RawTurtle 对象在哪里绘图。

    从 RawTurtle 派生出子类 Turtle (别名: Pen),该类对象在 Screen 实例上绘图,如果实例不存在则会自动创建。

    RawTurtle/Turtle 的所有方法也存在对应的函数,即作为面向过程的接口组成部分。

from turtle import*setup(750,500)penup()pensize(25)pencolor("pink")fd(-230)seth(90)pendown()circle(-50,180)circle(50,-180)circle(75,-50)circle(-190,-45)penup()fd(185)seth(180)fd(120)seth(90)pendown()circle(-75,-50)circle(190,-45)penup()fd(184)seth(0)fd(80)seth(90)pendown()circle(-50,180)circle(50,-180)circle(75,-50)circle(-190,-45)penup()fd(185)seth(180)fd(120)seth(90)pendown()circle(-75,-50)circle(190,-45)penup()fd(150)seth(180)fd(300)pencolor("red")pensize(10)pendown()fd(-500)seth(90)fd(30)fd(-60)seth(30)fd(60)seth(150)fd(60)done()

代码如下

from turtle import*pencolor("red")fillcolor("pink")setup(800,550)speed(5)pensize(1)begin_fill()left(90)circle(120,180)circle(360,70)left(38)circle(360,70)circle(120,180)end_fill()done()

想要获取更多好玩的编程、算法、AI、最新paper的内容,请关注公众号。

猜你喜欢

转载自blog.csdn.net/update7/article/details/108466844