mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-06-08 15:04:05 +08:00
544 lines
247 KiB
HTML
544 lines
247 KiB
HTML
<div class="body" role="main"><div class="section" id="module-turtle"><h1><span class="yiyi-st" id="yiyi-10">24.1. <a class="reference internal" href="#module-turtle" title="turtle: An educational framework for simple graphics applications"><code class="xref py py-mod docutils literal"><span class="pre">turtle(乌龟)</span></code></a> — Turtle graphics(图形)</span></h1><p><span class="yiyi-st" id="yiyi-11"><strong>源代码:</strong> <a class="reference external" href="https://hg.python.org/cpython/file/3.5/Lib/turtle.py">Lib / turtle.py</a></span></p><div class="section" id="introduction"><h2><span class="yiyi-st" id="yiyi-12">24.1.1. </span><span class="yiyi-st" id="yiyi-13">简介</span></h2><p><span class="yiyi-st" id="yiyi-14">乌龟图形是一个不错的方式来为孩子们介绍编程。</span><span class="yiyi-st" id="yiyi-15">它是Wally Feurzig和Seymour Papert在1966年开发的原始Logo编程语言的一部分。</span></p><p><span class="yiyi-st" id="yiyi-16">在xy平面上,想象有一只海龟机器人位于(0,0)位置。</span><span class="yiyi-st" id="yiyi-17">在<code class="docutils literal"><span class="pre">import</span> <span class="pre">turtle</span></code>之后,输入命令<code class="docutils literal"><span class="pre">turtle.forward(15)</span></code>,然后它就在屏幕上动起来了!</span><span class="yiyi-st" id="yiyi-18">当它移动时会沿着其所面向的方向画出一条长15像素的直线。</span><span class="yiyi-st" id="yiyi-19">输入命令<code class="docutils literal"><span class="pre">turtle.right(25)</span></code>,然后它就会原地顺时针转25度。</span></p><div class="sidebar"><p class="first sidebar-title"><span class="yiyi-st" id="yiyi-20">Turtle star(星)</span></p><p><span class="yiyi-st" id="yiyi-21">海龟可以重复简单动作来绘制复杂的图形。</span></p><div class="last highlight-python3"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">turtle</span> <span class="k">import</span> <span class="o">*</span>
|
||
<span class="n">color</span><span class="p">(</span><span class="s1">'red'</span><span class="p">,</span> <span class="s1">'yellow'</span><span class="p">)</span>
|
||
<span class="n">begin_fill</span><span class="p">()</span>
|
||
<span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
|
||
<span class="n">forward</span><span class="p">(</span><span class="mi">200</span><span class="p">)</span>
|
||
<span class="n">left</span><span class="p">(</span><span class="mi">170</span><span class="p">)</span>
|
||
<span class="k">if</span> <span class="nb">abs</span><span class="p">(</span><span class="n">pos</span><span class="p">())</span> <span class="o"><</span> <span class="mi">1</span><span class="p">:</span>
|
||
<span class="k">break</span>
|
||
<span class="n">end_fill</span><span class="p">()</span>
|
||
<span class="n">done</span><span class="p">()</span>
|
||
</pre></div></div></div><p><span class="yiyi-st" id="yiyi-22">通过将这些类似的命令组合在一起,复杂的形状和图片便可以被轻松的绘制出来。</span></p><p><span class="yiyi-st" id="yiyi-23"><a class="reference internal" href="#module-turtle" title="turtle: An educational framework for simple graphics applications"><code class="xref py py-mod docutils literal"><span class="pre">turtle</span></code></a>模块是Python 2.5标准版以来同名模块的扩展版本。</span></p><p><span class="yiyi-st" id="yiyi-24">既保持了原模块的优点,又(几乎)100%兼容旧版。</span><span class="yiyi-st" id="yiyi-25">当使用该模块时,在IDLE中使用<code class="docutils literal"><span class="pre">-n</span></code>开关能让初学者很容易使用到所含的全部命令,类和交互方法。</span></p><p><span class="yiyi-st" id="yiyi-26">turtle模块基本类型同时支持面向对象和面向过程两种方式。</span><span class="yiyi-st" id="yiyi-27">由于它使用<a class="reference internal" href="tkinter.html#module-tkinter" title="tkinter: Interface to Tcl/Tk for graphical user interfaces"><code class="xref py py-mod docutils literal"><span class="pre">tkinter</span></code></a>作为底层图形算法,所以它需要一个安装了Tk的Python版本支持。</span></p><p><span class="yiyi-st" id="yiyi-28">The object-oriented interface uses essentially two+two classes:</span></p><ol class="arabic"><li><p class="first"><span class="yiyi-st" id="yiyi-29"><a class="reference internal" href="#turtle.TurtleScreen" title="turtle.TurtleScreen"><code class="xref py py-class docutils literal"><span class="pre">TurtleScreen</span></code></a>类将图形窗口定义为“绘图海龟”的“游乐场”。</span><span class="yiyi-st" id="yiyi-30">其构造函数需要<code class="xref py py-class docutils literal"><span class="pre">tkinter.Canvas</span></code>或<a class="reference internal" href="#turtle.ScrolledCanvas" title="turtle.ScrolledCanvas"><code class="xref py py-class docutils literal"><span class="pre">ScrolledCanvas</span></code></a>作为参数。</span><span class="yiyi-st" id="yiyi-31">当<a class="reference internal" href="#module-turtle" title="turtle: An educational framework for simple graphics applications"><code class="xref py py-mod docutils literal"><span class="pre">turtle</span></code></a>作为某些应用程序的一部分时,应使用此类。</span></p><p><span class="yiyi-st" id="yiyi-32">函数<a class="reference internal" href="#turtle.Screen" title="turtle.Screen"><code class="xref py py-func docutils literal"><span class="pre">Screen()</span></code></a>会返回一个<a class="reference internal" href="#turtle.TurtleScreen" title="turtle.TurtleScreen"><code class="xref py py-class docutils literal"><span class="pre">TurtleScreen</span></code></a>子类的单例对象。</span><span class="yiyi-st" id="yiyi-33">当<a class="reference internal" href="#module-turtle" title="turtle: An educational framework for simple graphics applications"><code class="xref py py-mod docutils literal"><span class="pre">turtle</span></code></a>用作执行图形的独立工具时,应使用此函数。</span><span class="yiyi-st" id="yiyi-34">作为单例对象,它的类继承是无效的。</span></p><p><span class="yiyi-st" id="yiyi-35">TurtleScreen / Screen的所有方法也作为函数存在,即</span><span class="yiyi-st" id="yiyi-36">作为面向过程的接口的一部分。</span></p></li><li><p class="first"><span class="yiyi-st" id="yiyi-37"><a class="reference internal" href="#turtle.RawTurtle" title="turtle.RawTurtle"><code class="xref py py-class docutils literal"><span class="pre">RawTurtle</span></code></a>(别名:<a class="reference internal" href="#turtle.RawPen" title="turtle.RawPen"><code class="xref py py-class docutils literal"><span class="pre">RawPen</span></code></a>)定义了在<a class="reference internal" href="#turtle.TurtleScreen" title="turtle.TurtleScreen"><code class="xref py py-class docutils literal"><span class="pre">TurtleScreen</span></code></a>上绘制的Turtle对象。</span><span class="yiyi-st" id="yiyi-38">它的构造函数需要一个Canvas,ScrolledCanvas或者TurtleScreen作为参数,来让RawTurtle对象知道在哪里绘制。</span></p><p><span class="yiyi-st" id="yiyi-39">Derived from RawTurtle is the subclass <a class="reference internal" href="#turtle.Turtle" title="turtle.Turtle"><code class="xref py py-class docutils literal"><span class="pre">Turtle</span></code></a> (alias: <code class="xref py py-class docutils literal"><span class="pre">Pen</span></code>), which draws on “the” <a class="reference internal" href="#turtle.Screen" title="turtle.Screen"><code class="xref py py-class docutils literal"><span class="pre">Screen</span></code></a> instance which is automatically created, if not already present.</span></p><p><span class="yiyi-st" id="yiyi-40">RawTurtle / Turtle的所有方法也作为函数存在,即</span><span class="yiyi-st" id="yiyi-41">面向过程的接口的一部分。</span></p></li></ol><p><span class="yiyi-st" id="yiyi-42">过程接口提供从类<a class="reference internal" href="#turtle.Screen" title="turtle.Screen"><code class="xref py py-class docutils literal"><span class="pre">Screen</span></code></a>和<a class="reference internal" href="#turtle.Turtle" title="turtle.Turtle"><code class="xref py py-class docutils literal"><span class="pre">Turtle</span></code></a>的方法派生的函数。</span><span class="yiyi-st" id="yiyi-43">它们具有与相应方法相同的名称。</span><span class="yiyi-st" id="yiyi-44">每当调用从Screen方法派生的函数时,将自动创建Screen对象。</span><span class="yiyi-st" id="yiyi-45">每当调用来自Turtle方法的任何函数时,将自动创建一个(未命名的)turtle对象。</span></p><p><span class="yiyi-st" id="yiyi-46">要在一个屏幕上使用多个海龟,必须使用面向对象的接口。</span></p><div class="admonition note"><p class="first admonition-title"><span class="yiyi-st" id="yiyi-47">注意</span></p><p class="last"><span class="yiyi-st" id="yiyi-48">在下面的文档中给出了函数的参数列表。</span><span class="yiyi-st" id="yiyi-49">当然,方法有额外的第一个参数<em>self</em>,在这里省略。</span></p></div></div><div class="section" id="overview-of-available-turtle-and-screen-methods"><h2><span class="yiyi-st" id="yiyi-50">24.1.2. </span><span class="yiyi-st" id="yiyi-51">可用的Turtle and Screen的方法</span></h2><div class="section" id="turtle-methods"><h3><span class="yiyi-st" id="yiyi-52">24.1.2.1. </span><span class="yiyi-st" id="yiyi-53">Turtle 方法</span></h3><dl class="docutils"><dt><span class="yiyi-st" id="yiyi-54">Turtle的运动</span></dt><dd><dl class="first last docutils"><dt><span class="yiyi-st" id="yiyi-55">移动和绘制</span></dt><dd><div class="first last line-block"><div class="line"><span class="yiyi-st" id="yiyi-56"><a class="reference internal" href="#turtle.forward" title="turtle.forward"><code class="xref py py-func docutils literal"><span class="pre">forward()</span></code></a> | <a class="reference internal" href="#turtle.fd" title="turtle.fd"><code class="xref py py-func docutils literal"><span class="pre">fd()</span></code></a> 向前</span></div><div class="line"><span class="yiyi-st" id="yiyi-57"><a class="reference internal" href="#turtle.backward" title="turtle.backward"><code class="xref py py-func docutils literal"><span class="pre">backward()</span></code></a> | <a class="reference internal" href="#turtle.bk" title="turtle.bk"><code class="xref py py-func docutils literal"><span class="pre">bk()</span></code></a> | <a class="reference internal" href="#turtle.back" title="turtle.back"><code class="xref py py-func docutils literal"><span class="pre">back()</span></code></a> 向后</span></div><div class="line"><span class="yiyi-st" id="yiyi-58"><a class="reference internal" href="#turtle.right" title="turtle.right"><code class="xref py py-func docutils literal"><span class="pre">right()</span></code></a> | <a class="reference internal" href="#turtle.rt" title="turtle.rt"><code class="xref py py-func docutils literal"><span class="pre">rt()</span></code></a> 向右</span></div><div class="line"><span class="yiyi-st" id="yiyi-59"><a class="reference internal" href="#turtle.left" title="turtle.left"><code class="xref py py-func docutils literal"><span class="pre">left()</span></code></a> | <a class="reference internal" href="#turtle.lt" title="turtle.lt"><code class="xref py py-func docutils literal"><span class="pre">lt()</span></code></a> 向左</span></div><div class="line"><span class="yiyi-st" id="yiyi-60"><a class="reference internal" href="#turtle.goto" title="turtle.goto"><code class="xref py py-func docutils literal"><span class="pre">goto()</span></code></a> | <a class="reference internal" href="#turtle.setpos" title="turtle.setpos"><code class="xref py py-func docutils literal"><span class="pre">setpos()</span></code></a> | <a class="reference internal" href="#turtle.setposition" title="turtle.setposition"><code class="xref py py-func docutils literal"><span class="pre">setposition()</span></code></a> 设定坐标</span></div><div class="line"><span class="yiyi-st" id="yiyi-61"><a class="reference internal" href="#turtle.setx" title="turtle.setx"><code class="xref py py-func docutils literal"><span class="pre">setx() 设定x坐标</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-62"><a class="reference internal" href="#turtle.sety" title="turtle.sety"><code class="xref py py-func docutils literal"><span class="pre">sety()</span></code></a> 设定y坐标</span></div><div class="line"><span class="yiyi-st" id="yiyi-63"><a class="reference internal" href="#turtle.setheading" title="turtle.setheading"><code class="xref py py-func docutils literal"><span class="pre">setheading()</span></code></a> | <a class="reference internal" href="#turtle.seth" title="turtle.seth"><code class="xref py py-func docutils literal"><span class="pre">seth()</span></code></a> 设定朝向</span></div><div class="line"><span class="yiyi-st" id="yiyi-64"><a class="reference internal" href="#turtle.home" title="turtle.home"><code class="xref py py-func docutils literal"><span class="pre">home()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-65"><a class="reference internal" href="#turtle.circle" title="turtle.circle"><code class="xref py py-func docutils literal"><span class="pre">circle()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-66"><a class="reference internal" href="#turtle.dot" title="turtle.dot"><code class="xref py py-func docutils literal"><span class="pre">dot()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-67"><a class="reference internal" href="#turtle.stamp" title="turtle.stamp"><code class="xref py py-func docutils literal"><span class="pre">stamp()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-68"><a class="reference internal" href="#turtle.clearstamp" title="turtle.clearstamp"><code class="xref py py-func docutils literal"><span class="pre">clearstamp()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-69"><a class="reference internal" href="#turtle.clearstamps" title="turtle.clearstamps"><code class="xref py py-func docutils literal"><span class="pre">clearstamps()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-70"><a class="reference internal" href="#turtle.undo" title="turtle.undo"><code class="xref py py-func docutils literal"><span class="pre">undo()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-71"><a class="reference internal" href="#turtle.speed" title="turtle.speed"><code class="xref py py-func docutils literal"><span class="pre">speed()</span></code></a></span></div></div></dd><dt><span class="yiyi-st" id="yiyi-72">Tell Turtle’s state</span></dt><dd><div class="first last line-block"><div class="line"><span class="yiyi-st" id="yiyi-73"><a class="reference internal" href="#turtle.position" title="turtle.position"><code class="xref py py-func docutils literal"><span class="pre">position()</span></code></a> | <a class="reference internal" href="#turtle.pos" title="turtle.pos"><code class="xref py py-func docutils literal"><span class="pre">pos()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-74"><a class="reference internal" href="#turtle.towards" title="turtle.towards"><code class="xref py py-func docutils literal"><span class="pre">towards()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-75"><a class="reference internal" href="#turtle.xcor" title="turtle.xcor"><code class="xref py py-func docutils literal"><span class="pre">xcor()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-76"><a class="reference internal" href="#turtle.ycor" title="turtle.ycor"><code class="xref py py-func docutils literal"><span class="pre">ycor()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-77"><a class="reference internal" href="#turtle.heading" title="turtle.heading"><code class="xref py py-func docutils literal"><span class="pre">heading()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-78"><a class="reference internal" href="#turtle.distance" title="turtle.distance"><code class="xref py py-func docutils literal"><span class="pre">distance()</span></code></a></span></div></div></dd><dt><span class="yiyi-st" id="yiyi-79">Setting and measurement</span></dt><dd><div class="first last line-block"><div class="line"><span class="yiyi-st" id="yiyi-80"><a class="reference internal" href="#turtle.degrees" title="turtle.degrees"><code class="xref py py-func docutils literal"><span class="pre">degrees()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-81"><a class="reference internal" href="#turtle.radians" title="turtle.radians"><code class="xref py py-func docutils literal"><span class="pre">radians()</span></code></a></span></div></div></dd></dl></dd><dt><span class="yiyi-st" id="yiyi-82">Pen control</span></dt><dd><dl class="first last docutils"><dt><span class="yiyi-st" id="yiyi-83">Drawing state</span></dt><dd><div class="first last line-block"><div class="line"><span class="yiyi-st" id="yiyi-84"><a class="reference internal" href="#turtle.pendown" title="turtle.pendown"><code class="xref py py-func docutils literal"><span class="pre">pendown()</span></code></a> | <a class="reference internal" href="#turtle.pd" title="turtle.pd"><code class="xref py py-func docutils literal"><span class="pre">pd()</span></code></a> | <a class="reference internal" href="#turtle.down" title="turtle.down"><code class="xref py py-func docutils literal"><span class="pre">down()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-85"><a class="reference internal" href="#turtle.penup" title="turtle.penup"><code class="xref py py-func docutils literal"><span class="pre">penup()</span></code></a> | <a class="reference internal" href="#turtle.pu" title="turtle.pu"><code class="xref py py-func docutils literal"><span class="pre">pu()</span></code></a> | <a class="reference internal" href="#turtle.up" title="turtle.up"><code class="xref py py-func docutils literal"><span class="pre">up()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-86"><a class="reference internal" href="#turtle.pensize" title="turtle.pensize"><code class="xref py py-func docutils literal"><span class="pre">pensize()</span></code></a> | <a class="reference internal" href="#turtle.width" title="turtle.width"><code class="xref py py-func docutils literal"><span class="pre">width()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-87"><a class="reference internal" href="#turtle.pen" title="turtle.pen"><code class="xref py py-func docutils literal"><span class="pre">pen()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-88"><a class="reference internal" href="#turtle.isdown" title="turtle.isdown"><code class="xref py py-func docutils literal"><span class="pre">isdown()</span></code></a></span></div></div></dd><dt><span class="yiyi-st" id="yiyi-89">颜色控制</span></dt><dd><div class="first last line-block"><div class="line"><span class="yiyi-st" id="yiyi-90"><a class="reference internal" href="#turtle.color" title="turtle.color"><code class="xref py py-func docutils literal"><span class="pre">color()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-91"><a class="reference internal" href="#turtle.pencolor" title="turtle.pencolor"><code class="xref py py-func docutils literal"><span class="pre">pencolor()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-92"><a class="reference internal" href="#turtle.fillcolor" title="turtle.fillcolor"><code class="xref py py-func docutils literal"><span class="pre">fillcolor()</span></code></a></span></div></div></dd><dt><span class="yiyi-st" id="yiyi-93">Filling</span></dt><dd><div class="first last line-block"><div class="line"><span class="yiyi-st" id="yiyi-94"><a class="reference internal" href="#turtle.filling" title="turtle.filling"><code class="xref py py-func docutils literal"><span class="pre">filling()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-95"><a class="reference internal" href="#turtle.begin_fill" title="turtle.begin_fill"><code class="xref py py-func docutils literal"><span class="pre">begin_fill()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-96"><a class="reference internal" href="#turtle.end_fill" title="turtle.end_fill"><code class="xref py py-func docutils literal"><span class="pre">end_fill()</span></code></a></span></div></div></dd><dt><span class="yiyi-st" id="yiyi-97">More drawing control</span></dt><dd><div class="first last line-block"><div class="line"><span class="yiyi-st" id="yiyi-98"><a class="reference internal" href="#turtle.reset" title="turtle.reset"><code class="xref py py-func docutils literal"><span class="pre">reset()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-99"><a class="reference internal" href="#turtle.clear" title="turtle.clear"><code class="xref py py-func docutils literal"><span class="pre">clear()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-100"><a class="reference internal" href="#turtle.write" title="turtle.write"><code class="xref py py-func docutils literal"><span class="pre">write()</span></code></a></span></div></div></dd></dl></dd><dt><span class="yiyi-st" id="yiyi-101">Turtle state</span></dt><dd><dl class="first last docutils"><dt><span class="yiyi-st" id="yiyi-102">Visibility</span></dt><dd><div class="first last line-block"><div class="line"><span class="yiyi-st" id="yiyi-103"><a class="reference internal" href="#turtle.showturtle" title="turtle.showturtle"><code class="xref py py-func docutils literal"><span class="pre">showturtle()</span></code></a> | <a class="reference internal" href="#turtle.st" title="turtle.st"><code class="xref py py-func docutils literal"><span class="pre">st()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-104"><a class="reference internal" href="#turtle.hideturtle" title="turtle.hideturtle"><code class="xref py py-func docutils literal"><span class="pre">hideturtle()</span></code></a> | <a class="reference internal" href="#turtle.ht" title="turtle.ht"><code class="xref py py-func docutils literal"><span class="pre">ht()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-105"><a class="reference internal" href="#turtle.isvisible" title="turtle.isvisible"><code class="xref py py-func docutils literal"><span class="pre">isvisible()</span></code></a></span></div></div></dd><dt><span class="yiyi-st" id="yiyi-106">Appearance</span></dt><dd><div class="first last line-block"><div class="line"><span class="yiyi-st" id="yiyi-107"><a class="reference internal" href="#turtle.shape" title="turtle.shape"><code class="xref py py-func docutils literal"><span class="pre">shape()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-108"><a class="reference internal" href="#turtle.resizemode" title="turtle.resizemode"><code class="xref py py-func docutils literal"><span class="pre">resizemode()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-109"><a class="reference internal" href="#turtle.shapesize" title="turtle.shapesize"><code class="xref py py-func docutils literal"><span class="pre">shapesize()</span></code></a> | <a class="reference internal" href="#turtle.turtlesize" title="turtle.turtlesize"><code class="xref py py-func docutils literal"><span class="pre">turtlesize()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-110"><a class="reference internal" href="#turtle.shearfactor" title="turtle.shearfactor"><code class="xref py py-func docutils literal"><span class="pre">shearfactor()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-111"><a class="reference internal" href="#turtle.settiltangle" title="turtle.settiltangle"><code class="xref py py-func docutils literal"><span class="pre">settiltangle()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-112"><a class="reference internal" href="#turtle.tiltangle" title="turtle.tiltangle"><code class="xref py py-func docutils literal"><span class="pre">tiltangle()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-113"><a class="reference internal" href="#turtle.tilt" title="turtle.tilt"><code class="xref py py-func docutils literal"><span class="pre">tilt()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-114"><a class="reference internal" href="#turtle.shapetransform" title="turtle.shapetransform"><code class="xref py py-func docutils literal"><span class="pre">shapetransform()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-115"><a class="reference internal" href="#turtle.get_shapepoly" title="turtle.get_shapepoly"><code class="xref py py-func docutils literal"><span class="pre">get_shapepoly()</span></code></a></span></div></div></dd></dl></dd><dt><span class="yiyi-st" id="yiyi-116">Using events</span></dt><dd><div class="first last line-block"><div class="line"><span class="yiyi-st" id="yiyi-117"><a class="reference internal" href="#turtle.onclick" title="turtle.onclick"><code class="xref py py-func docutils literal"><span class="pre">onclick()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-118"><a class="reference internal" href="#turtle.onrelease" title="turtle.onrelease"><code class="xref py py-func docutils literal"><span class="pre">onrelease()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-119"><a class="reference internal" href="#turtle.ondrag" title="turtle.ondrag"><code class="xref py py-func docutils literal"><span class="pre">ondrag()</span></code></a></span></div></div></dd><dt><span class="yiyi-st" id="yiyi-120">Special Turtle methods</span></dt><dd><div class="first last line-block"><div class="line"><span class="yiyi-st" id="yiyi-121"><a class="reference internal" href="#turtle.begin_poly" title="turtle.begin_poly"><code class="xref py py-func docutils literal"><span class="pre">begin_poly()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-122"><a class="reference internal" href="#turtle.end_poly" title="turtle.end_poly"><code class="xref py py-func docutils literal"><span class="pre">end_poly()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-123"><a class="reference internal" href="#turtle.get_poly" title="turtle.get_poly"><code class="xref py py-func docutils literal"><span class="pre">get_poly()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-124"><a class="reference internal" href="#turtle.clone" title="turtle.clone"><code class="xref py py-func docutils literal"><span class="pre">clone()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-125"><a class="reference internal" href="#turtle.getturtle" title="turtle.getturtle"><code class="xref py py-func docutils literal"><span class="pre">getturtle()</span></code></a> | <a class="reference internal" href="#turtle.getpen" title="turtle.getpen"><code class="xref py py-func docutils literal"><span class="pre">getpen()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-126"><a class="reference internal" href="#turtle.getscreen" title="turtle.getscreen"><code class="xref py py-func docutils literal"><span class="pre">getscreen()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-127"><a class="reference internal" href="#turtle.setundobuffer" title="turtle.setundobuffer"><code class="xref py py-func docutils literal"><span class="pre">setundobuffer()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-128"><a class="reference internal" href="#turtle.undobufferentries" title="turtle.undobufferentries"><code class="xref py py-func docutils literal"><span class="pre">undobufferentries()</span></code></a></span></div></div></dd></dl></div><div class="section" id="methods-of-turtlescreen-screen"><h3><span class="yiyi-st" id="yiyi-129">24.1.2.2. </span><span class="yiyi-st" id="yiyi-130">Methods of TurtleScreen/Screen</span></h3><dl class="docutils"><dt><span class="yiyi-st" id="yiyi-131">Window control</span></dt><dd><div class="first last line-block"><div class="line"><span class="yiyi-st" id="yiyi-132"><a class="reference internal" href="#turtle.bgcolor" title="turtle.bgcolor"><code class="xref py py-func docutils literal"><span class="pre">bgcolor()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-133"><a class="reference internal" href="#turtle.bgpic" title="turtle.bgpic"><code class="xref py py-func docutils literal"><span class="pre">bgpic()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-134"><a class="reference internal" href="#turtle.clear" title="turtle.clear"><code class="xref py py-func docutils literal"><span class="pre">clear()</span></code></a> | <a class="reference internal" href="#turtle.clearscreen" title="turtle.clearscreen"><code class="xref py py-func docutils literal"><span class="pre">clearscreen()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-135"><a class="reference internal" href="#turtle.reset" title="turtle.reset"><code class="xref py py-func docutils literal"><span class="pre">reset()</span></code></a> | <a class="reference internal" href="#turtle.resetscreen" title="turtle.resetscreen"><code class="xref py py-func docutils literal"><span class="pre">resetscreen()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-136"><a class="reference internal" href="#turtle.screensize" title="turtle.screensize"><code class="xref py py-func docutils literal"><span class="pre">screensize()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-137"><a class="reference internal" href="#turtle.setworldcoordinates" title="turtle.setworldcoordinates"><code class="xref py py-func docutils literal"><span class="pre">setworldcoordinates()</span></code></a></span></div></div></dd><dt><span class="yiyi-st" id="yiyi-138">Animation control</span></dt><dd><div class="first last line-block"><div class="line"><span class="yiyi-st" id="yiyi-139"><a class="reference internal" href="#turtle.delay" title="turtle.delay"><code class="xref py py-func docutils literal"><span class="pre">delay()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-140"><a class="reference internal" href="#turtle.tracer" title="turtle.tracer"><code class="xref py py-func docutils literal"><span class="pre">tracer()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-141"><a class="reference internal" href="#turtle.update" title="turtle.update"><code class="xref py py-func docutils literal"><span class="pre">update()</span></code></a></span></div></div></dd><dt><span class="yiyi-st" id="yiyi-142">Using screen events</span></dt><dd><div class="first last line-block"><div class="line"><span class="yiyi-st" id="yiyi-143"><a class="reference internal" href="#turtle.listen" title="turtle.listen"><code class="xref py py-func docutils literal"><span class="pre">listen()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-144"><a class="reference internal" href="#turtle.onkey" title="turtle.onkey"><code class="xref py py-func docutils literal"><span class="pre">onkey()</span></code></a> | <a class="reference internal" href="#turtle.onkeyrelease" title="turtle.onkeyrelease"><code class="xref py py-func docutils literal"><span class="pre">onkeyrelease()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-145"><a class="reference internal" href="#turtle.onkeypress" title="turtle.onkeypress"><code class="xref py py-func docutils literal"><span class="pre">onkeypress()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-146"><a class="reference internal" href="#turtle.onclick" title="turtle.onclick"><code class="xref py py-func docutils literal"><span class="pre">onclick()</span></code></a> | <a class="reference internal" href="#turtle.onscreenclick" title="turtle.onscreenclick"><code class="xref py py-func docutils literal"><span class="pre">onscreenclick()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-147"><a class="reference internal" href="#turtle.ontimer" title="turtle.ontimer"><code class="xref py py-func docutils literal"><span class="pre">ontimer()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-148"><a class="reference internal" href="#turtle.mainloop" title="turtle.mainloop"><code class="xref py py-func docutils literal"><span class="pre">mainloop()</span></code></a> | <a class="reference internal" href="#turtle.done" title="turtle.done"><code class="xref py py-func docutils literal"><span class="pre">done()</span></code></a></span></div></div></dd><dt><span class="yiyi-st" id="yiyi-149">Settings and special methods</span></dt><dd><div class="first last line-block"><div class="line"><span class="yiyi-st" id="yiyi-150"><a class="reference internal" href="#turtle.mode" title="turtle.mode"><code class="xref py py-func docutils literal"><span class="pre">mode()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-151"><a class="reference internal" href="#turtle.colormode" title="turtle.colormode"><code class="xref py py-func docutils literal"><span class="pre">colormode()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-152"><a class="reference internal" href="#turtle.getcanvas" title="turtle.getcanvas"><code class="xref py py-func docutils literal"><span class="pre">getcanvas()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-153"><a class="reference internal" href="#turtle.getshapes" title="turtle.getshapes"><code class="xref py py-func docutils literal"><span class="pre">getshapes()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-154"><a class="reference internal" href="#turtle.register_shape" title="turtle.register_shape"><code class="xref py py-func docutils literal"><span class="pre">register_shape()</span></code></a> | <a class="reference internal" href="#turtle.addshape" title="turtle.addshape"><code class="xref py py-func docutils literal"><span class="pre">addshape()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-155"><a class="reference internal" href="#turtle.turtles" title="turtle.turtles"><code class="xref py py-func docutils literal"><span class="pre">turtles()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-156"><a class="reference internal" href="#turtle.window_height" title="turtle.window_height"><code class="xref py py-func docutils literal"><span class="pre">window_height()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-157"><a class="reference internal" href="#turtle.window_width" title="turtle.window_width"><code class="xref py py-func docutils literal"><span class="pre">window_width()</span></code></a></span></div></div></dd><dt><span class="yiyi-st" id="yiyi-158">Input methods</span></dt><dd><div class="first last line-block"><div class="line"><span class="yiyi-st" id="yiyi-159"><a class="reference internal" href="#turtle.textinput" title="turtle.textinput"><code class="xref py py-func docutils literal"><span class="pre">textinput()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-160"><a class="reference internal" href="#turtle.numinput" title="turtle.numinput"><code class="xref py py-func docutils literal"><span class="pre">numinput()</span></code></a></span></div></div></dd><dt><span class="yiyi-st" id="yiyi-161">Methods specific to Screen</span></dt><dd><div class="first last line-block"><div class="line"><span class="yiyi-st" id="yiyi-162"><a class="reference internal" href="#turtle.bye" title="turtle.bye"><code class="xref py py-func docutils literal"><span class="pre">bye()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-163"><a class="reference internal" href="#turtle.exitonclick" title="turtle.exitonclick"><code class="xref py py-func docutils literal"><span class="pre">exitonclick()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-164"><a class="reference internal" href="#turtle.setup" title="turtle.setup"><code class="xref py py-func docutils literal"><span class="pre">setup()</span></code></a></span></div><div class="line"><span class="yiyi-st" id="yiyi-165"><a class="reference internal" href="#turtle.title" title="turtle.title"><code class="xref py py-func docutils literal"><span class="pre">title()</span></code></a></span></div></div></dd></dl></div></div><div class="section" id="methods-of-rawturtle-turtle-and-corresponding-functions"><h2><span class="yiyi-st" id="yiyi-166">24.1.3. </span><span class="yiyi-st" id="yiyi-167">Methods of RawTurtle/Turtle and corresponding functions</span></h2><p><span class="yiyi-st" id="yiyi-168">Most of the examples in this section refer to a Turtle instance called <code class="docutils literal"><span class="pre">turtle</span></code>.</span></p><div class="section" id="turtle-motion"><h3><span class="yiyi-st" id="yiyi-169">24.1.3.1. </span><span class="yiyi-st" id="yiyi-170">Turtle motion</span></h3><dl class="function"><dt id="turtle.forward"><span class="yiyi-st" id="yiyi-171"> <code class="descclassname">turtle.</code><code class="descname">forward</code><span class="sig-paren">(</span><em>distance</em><span class="sig-paren">)</span></span></dt><dt id="turtle.fd"><span class="yiyi-st" id="yiyi-172"> <code class="descclassname">turtle.</code><code class="descname">fd</code><span class="sig-paren">(</span><em>distance</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-173">Parameters:</span></th><td class="field-body"><span class="yiyi-st" id="yiyi-174"><strong>distance</strong> – a number (integer or float)</span></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-175">按照指定的<em>距离</em>将龟向前移动。</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">position</span><span class="p">()</span>
|
||
<span class="go">(0.00,0.00)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">forward</span><span class="p">(</span><span class="mi">25</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">position</span><span class="p">()</span>
|
||
<span class="go">(25.00,0.00)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">forward</span><span class="p">(</span><span class="o">-</span><span class="mi">75</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">position</span><span class="p">()</span>
|
||
<span class="go">(-50.00,0.00)</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.back"><span class="yiyi-st" id="yiyi-176"> <code class="descclassname">turtle.</code><code class="descname">back</code><span class="sig-paren">(</span><em>distance</em><span class="sig-paren">)</span></span></dt><dt id="turtle.bk"><span class="yiyi-st" id="yiyi-177"> <code class="descclassname">turtle.</code><code class="descname">bk</code><span class="sig-paren">(</span><em>distance</em><span class="sig-paren">)</span></span></dt><dt id="turtle.backward"><span class="yiyi-st" id="yiyi-178"> <code class="descclassname">turtle.</code><code class="descname">backward</code><span class="sig-paren">(</span><em>distance</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-179">Parameters:</span></th><td class="field-body"><span class="yiyi-st" id="yiyi-180"><strong>distance</strong> – a number</span></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-181">Move the turtle backward by <em>distance</em>, opposite to the direction the turtle is headed. </span><span class="yiyi-st" id="yiyi-182">不改变乌龟的朝向。</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">position</span><span class="p">()</span>
|
||
<span class="go">(0.00,0.00)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">backward</span><span class="p">(</span><span class="mi">30</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">position</span><span class="p">()</span>
|
||
<span class="go">(-30.00,0.00)</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.right"><span class="yiyi-st" id="yiyi-183"> <code class="descclassname">turtle.</code><code class="descname">right</code><span class="sig-paren">(</span><em>angle</em><span class="sig-paren">)</span></span></dt><dt id="turtle.rt"><span class="yiyi-st" id="yiyi-184"> <code class="descclassname">turtle.</code><code class="descname">rt</code><span class="sig-paren">(</span><em>angle</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-185">Parameters:</span></th><td class="field-body"><span class="yiyi-st" id="yiyi-186"><strong>angle</strong> – a number (integer or float)</span></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-187">Turn turtle right by <em>angle</em> units. </span><span class="yiyi-st" id="yiyi-188">(Units are by default degrees, but can be set via the <a class="reference internal" href="#turtle.degrees" title="turtle.degrees"><code class="xref py py-func docutils literal"><span class="pre">degrees()</span></code></a> and <a class="reference internal" href="#turtle.radians" title="turtle.radians"><code class="xref py py-func docutils literal"><span class="pre">radians()</span></code></a> functions.) </span><span class="yiyi-st" id="yiyi-189">Angle orientation depends on the turtle mode, see <a class="reference internal" href="#turtle.mode" title="turtle.mode"><code class="xref py py-func docutils literal"><span class="pre">mode()</span></code></a>.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">heading</span><span class="p">()</span>
|
||
<span class="go">22.0</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">right</span><span class="p">(</span><span class="mi">45</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">heading</span><span class="p">()</span>
|
||
<span class="go">337.0</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.left"><span class="yiyi-st" id="yiyi-190"> <code class="descclassname">turtle.</code><code class="descname">left</code><span class="sig-paren">(</span><em>angle</em><span class="sig-paren">)</span></span></dt><dt id="turtle.lt"><span class="yiyi-st" id="yiyi-191"> <code class="descclassname">turtle.</code><code class="descname">lt</code><span class="sig-paren">(</span><em>angle</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-192">Parameters:</span></th><td class="field-body"><span class="yiyi-st" id="yiyi-193"><strong>angle</strong> – a number (integer or float)</span></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-194">Turn turtle left by <em>angle</em> units. </span><span class="yiyi-st" id="yiyi-195">(单位是默认度数,但可以通过度数()和弧度()函数来设置。 <a class="reference internal" href="#turtle.degrees" title="turtle.degrees"><code class="xref py py-func docutils literal"><span class="pre"></span></code></a><a class="reference internal" href="#turtle.radians" title="turtle.radians"><code class="xref py py-func docutils literal"><span class="pre"></span></code></a></span><span class="yiyi-st" id="yiyi-196">Angle orientation depends on the turtle mode, see <a class="reference internal" href="#turtle.mode" title="turtle.mode"><code class="xref py py-func docutils literal"><span class="pre">mode()</span></code></a>.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">heading</span><span class="p">()</span>
|
||
<span class="go">22.0</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">left</span><span class="p">(</span><span class="mi">45</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">heading</span><span class="p">()</span>
|
||
<span class="go">67.0</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.goto"><span class="yiyi-st" id="yiyi-197"> <code class="descclassname">turtle.</code><code class="descname">goto</code><span class="sig-paren">(</span><em>x</em>, <em>y=None</em><span class="sig-paren">)</span></span></dt><dt id="turtle.setpos"><span class="yiyi-st" id="yiyi-198"> <code class="descclassname">turtle.</code><code class="descname">setpos</code><span class="sig-paren">(</span><em>x</em>, <em>y=None</em><span class="sig-paren">)</span></span></dt><dt id="turtle.setposition"><span class="yiyi-st" id="yiyi-199"> <code class="descclassname">turtle.</code><code class="descname">setposition</code><span class="sig-paren">(</span><em>x</em>, <em>y=None</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-200">Parameters:</span></th><td class="field-body"><ul class="first last simple"><li><span class="yiyi-st" id="yiyi-201"><strong>x</strong> – a number or a pair/vector of numbers</span></li><li><span class="yiyi-st" id="yiyi-202"><strong>y</strong> – a number or <code class="docutils literal"><span class="pre">None</span></code></span></li></ul></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-203">If <em>y</em> is <code class="docutils literal"><span class="pre">None</span></code>, <em>x</em> must be a pair of coordinates or a <a class="reference internal" href="#turtle.Vec2D" title="turtle.Vec2D"><code class="xref py py-class docutils literal"><span class="pre">Vec2D</span></code></a> (e.g. </span><span class="yiyi-st" id="yiyi-204">as returned by <a class="reference internal" href="#turtle.pos" title="turtle.pos"><code class="xref py py-func docutils literal"><span class="pre">pos()</span></code></a>).</span></p><p><span class="yiyi-st" id="yiyi-205">Move turtle to an absolute position. </span><span class="yiyi-st" id="yiyi-206">If the pen is down, draw line. </span><span class="yiyi-st" id="yiyi-207">Do not change the turtle’s orientation.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">tp</span> <span class="o">=</span> <span class="n">turtle</span><span class="o">.</span><span class="n">pos</span><span class="p">()</span>
|
||
<span class="gp">>>> </span><span class="n">tp</span>
|
||
<span class="go">(0.00,0.00)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">setpos</span><span class="p">(</span><span class="mi">60</span><span class="p">,</span><span class="mi">30</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">pos</span><span class="p">()</span>
|
||
<span class="go">(60.00,30.00)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">setpos</span><span class="p">((</span><span class="mi">20</span><span class="p">,</span><span class="mi">80</span><span class="p">))</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">pos</span><span class="p">()</span>
|
||
<span class="go">(20.00,80.00)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">setpos</span><span class="p">(</span><span class="n">tp</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">pos</span><span class="p">()</span>
|
||
<span class="go">(0.00,0.00)</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.setx"><span class="yiyi-st" id="yiyi-208"> <code class="descclassname">turtle.</code><code class="descname">setx</code><span class="sig-paren">(</span><em>x</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-209">Parameters:</span></th><td class="field-body"><span class="yiyi-st" id="yiyi-210"><strong>x</strong> – a number (integer or float)</span></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-211">Set the turtle’s first coordinate to <em>x</em>, leave second coordinate unchanged.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">position</span><span class="p">()</span>
|
||
<span class="go">(0.00,240.00)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">setx</span><span class="p">(</span><span class="mi">10</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">position</span><span class="p">()</span>
|
||
<span class="go">(10.00,240.00)</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.sety"><span class="yiyi-st" id="yiyi-212"> <code class="descclassname">turtle.</code><code class="descname">sety</code><span class="sig-paren">(</span><em>y</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-213">Parameters:</span></th><td class="field-body"><span class="yiyi-st" id="yiyi-214"><strong>y</strong> – a number (integer or float)</span></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-215">Set the turtle’s second coordinate to <em>y</em>, leave first coordinate unchanged.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">position</span><span class="p">()</span>
|
||
<span class="go">(0.00,40.00)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">sety</span><span class="p">(</span><span class="o">-</span><span class="mi">10</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">position</span><span class="p">()</span>
|
||
<span class="go">(0.00,-10.00)</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.setheading"><span class="yiyi-st" id="yiyi-216"> <code class="descclassname">turtle.</code><code class="descname">setheading</code><span class="sig-paren">(</span><em>to_angle</em><span class="sig-paren">)</span></span></dt><dt id="turtle.seth"><span class="yiyi-st" id="yiyi-217"> <code class="descclassname">turtle.</code><code class="descname">seth</code><span class="sig-paren">(</span><em>to_angle</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-218">Parameters:</span></th><td class="field-body"><span class="yiyi-st" id="yiyi-219"><strong>to_angle</strong> – a number (integer or float)</span></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-220">Set the orientation of the turtle to <em>to_angle</em>. </span><span class="yiyi-st" id="yiyi-221">Here are some common directions in degrees:</span></p><table border="1" class="docutils"><thead valign="bottom"><tr class="row-odd"><th class="head"><span class="yiyi-st" id="yiyi-222">standard mode</span></th><th class="head"><span class="yiyi-st" id="yiyi-223">logo mode</span></th></tr></thead><tbody valign="top"><tr class="row-even"><td><span class="yiyi-st" id="yiyi-224">0 - east</span></td><td><span class="yiyi-st" id="yiyi-225">0 - north</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-226">90 - north</span></td><td><span class="yiyi-st" id="yiyi-227">90 - east</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-228">180 - west</span></td><td><span class="yiyi-st" id="yiyi-229">180 - south</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-230">270 - south</span></td><td><span class="yiyi-st" id="yiyi-231">270 - west</span></td></tr></tbody></table><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">setheading</span><span class="p">(</span><span class="mi">90</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">heading</span><span class="p">()</span>
|
||
<span class="go">90.0</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.home"><span class="yiyi-st" id="yiyi-232"> <code class="descclassname">turtle.</code><code class="descname">home</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-233">Move turtle to the origin – coordinates (0,0) – and set its heading to its start-orientation (which depends on the mode, see <a class="reference internal" href="#turtle.mode" title="turtle.mode"><code class="xref py py-func docutils literal"><span class="pre">mode()</span></code></a>).</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">heading</span><span class="p">()</span>
|
||
<span class="go">90.0</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">position</span><span class="p">()</span>
|
||
<span class="go">(0.00,-10.00)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">home</span><span class="p">()</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">position</span><span class="p">()</span>
|
||
<span class="go">(0.00,0.00)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">heading</span><span class="p">()</span>
|
||
<span class="go">0.0</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.circle"><span class="yiyi-st" id="yiyi-234"> <code class="descclassname">turtle.</code><code class="descname">circle</code><span class="sig-paren">(</span><em>radius</em>, <em>extent=None</em>, <em>steps=None</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-235">Parameters:</span></th><td class="field-body"><ul class="first last simple"><li><span class="yiyi-st" id="yiyi-236"><strong>radius</strong> – a number</span></li><li><span class="yiyi-st" id="yiyi-237"><strong>extent</strong> – a number (or <code class="docutils literal"><span class="pre">None</span></code>)</span></li><li><span class="yiyi-st" id="yiyi-238"><strong>steps</strong> – an integer (or <code class="docutils literal"><span class="pre">None</span></code>)</span></li></ul></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-239">用给定的<em>半径绘制一个圆圈</em>。</span><span class="yiyi-st" id="yiyi-240">The center is <em>radius</em> units left of the turtle; <em>extent</em> – an angle – determines which part of the circle is drawn. </span><span class="yiyi-st" id="yiyi-241">If <em>extent</em> is not given, draw the entire circle. </span><span class="yiyi-st" id="yiyi-242">If <em>extent</em> is not a full circle, one endpoint of the arc is the current pen position. </span><span class="yiyi-st" id="yiyi-243">如果<em>半径</em>为正值,则按逆时针方向绘制圆弧,否则按顺时针方向绘制圆弧。</span><span class="yiyi-st" id="yiyi-244">最后龟的方向改变了<em>extent</em>的数量。</span></p><p><span class="yiyi-st" id="yiyi-245">由于圆是用内切正多边形近似的,因此<em>步</em>决定了要使用的步数。</span><span class="yiyi-st" id="yiyi-246">如果没有给出,它会自动计算。</span><span class="yiyi-st" id="yiyi-247">可用于绘制正多边形。</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">home</span><span class="p">()</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">position</span><span class="p">()</span>
|
||
<span class="go">(0.00,0.00)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">heading</span><span class="p">()</span>
|
||
<span class="go">0.0</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">circle</span><span class="p">(</span><span class="mi">50</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">position</span><span class="p">()</span>
|
||
<span class="go">(-0.00,0.00)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">heading</span><span class="p">()</span>
|
||
<span class="go">0.0</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">circle</span><span class="p">(</span><span class="mi">120</span><span class="p">,</span> <span class="mi">180</span><span class="p">)</span> <span class="c1"># draw a semicircle</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">position</span><span class="p">()</span>
|
||
<span class="go">(0.00,240.00)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">heading</span><span class="p">()</span>
|
||
<span class="go">180.0</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.dot"><span class="yiyi-st" id="yiyi-248"> <code class="descclassname">turtle.</code><code class="descname">dot</code><span class="sig-paren">(</span><em>size=None</em>, <em>*color</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-249">Parameters:</span></th><td class="field-body"><ul class="first last simple"><li><span class="yiyi-st" id="yiyi-250"><strong>size</strong> – an integer >= 1 (if given)</span></li><li><span class="yiyi-st" id="yiyi-251"><strong>color</strong> – a colorstring or a numeric color tuple</span></li></ul></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-252">Draw a circular dot with diameter <em>size</em>, using <em>color</em>. </span><span class="yiyi-st" id="yiyi-253">If <em>size</em> is not given, the maximum of pensize+4 and 2*pensize is used.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">home</span><span class="p">()</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">dot</span><span class="p">()</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">fd</span><span class="p">(</span><span class="mi">50</span><span class="p">);</span> <span class="n">turtle</span><span class="o">.</span><span class="n">dot</span><span class="p">(</span><span class="mi">20</span><span class="p">,</span> <span class="s2">"blue"</span><span class="p">);</span> <span class="n">turtle</span><span class="o">.</span><span class="n">fd</span><span class="p">(</span><span class="mi">50</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">position</span><span class="p">()</span>
|
||
<span class="go">(100.00,-0.00)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">heading</span><span class="p">()</span>
|
||
<span class="go">0.0</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.stamp"><span class="yiyi-st" id="yiyi-254"> <code class="descclassname">turtle.</code><code class="descname">stamp</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-255">Stamp a copy of the turtle shape onto the canvas at the current turtle position. </span><span class="yiyi-st" id="yiyi-256">Return a stamp_id for that stamp, which can be used to delete it by calling <code class="docutils literal"><span class="pre">clearstamp(stamp_id)</span></code>.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">color</span><span class="p">(</span><span class="s2">"blue"</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">stamp</span><span class="p">()</span>
|
||
<span class="go">11</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">fd</span><span class="p">(</span><span class="mi">50</span><span class="p">)</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.clearstamp"><span class="yiyi-st" id="yiyi-257"> <code class="descclassname">turtle.</code><code class="descname">clearstamp</code><span class="sig-paren">(</span><em>stampid</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-258">Parameters:</span></th><td class="field-body"><span class="yiyi-st" id="yiyi-259"><strong>stampid</strong> – an integer, must be return value of previous <a class="reference internal" href="#turtle.stamp" title="turtle.stamp"><code class="xref py py-func docutils literal"><span class="pre">stamp()</span></code></a> call</span></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-260">Delete stamp with given <em>stampid</em>.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">position</span><span class="p">()</span>
|
||
<span class="go">(150.00,-0.00)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">color</span><span class="p">(</span><span class="s2">"blue"</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">astamp</span> <span class="o">=</span> <span class="n">turtle</span><span class="o">.</span><span class="n">stamp</span><span class="p">()</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">fd</span><span class="p">(</span><span class="mi">50</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">position</span><span class="p">()</span>
|
||
<span class="go">(200.00,-0.00)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">clearstamp</span><span class="p">(</span><span class="n">astamp</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">position</span><span class="p">()</span>
|
||
<span class="go">(200.00,-0.00)</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.clearstamps"><span class="yiyi-st" id="yiyi-261"> <code class="descclassname">turtle.</code><code class="descname">clearstamps</code><span class="sig-paren">(</span><em>n=None</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-262">Parameters:</span></th><td class="field-body"><span class="yiyi-st" id="yiyi-263"><strong>n</strong> – an integer (or <code class="docutils literal"><span class="pre">None</span></code>)</span></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-264">Delete all or first/last <em>n</em> of turtle’s stamps. </span><span class="yiyi-st" id="yiyi-265">If <em>n</em> is None, delete all stamps, if <em>n</em> > 0 delete first <em>n</em> stamps, else if <em>n</em> < 0 delete last <em>n</em> stamps.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">8</span><span class="p">):</span>
|
||
<span class="gp">... </span> <span class="n">turtle</span><span class="o">.</span><span class="n">stamp</span><span class="p">();</span> <span class="n">turtle</span><span class="o">.</span><span class="n">fd</span><span class="p">(</span><span class="mi">30</span><span class="p">)</span>
|
||
<span class="go">13</span>
|
||
<span class="go">14</span>
|
||
<span class="go">15</span>
|
||
<span class="go">16</span>
|
||
<span class="go">17</span>
|
||
<span class="go">18</span>
|
||
<span class="go">19</span>
|
||
<span class="go">20</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">clearstamps</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">clearstamps</span><span class="p">(</span><span class="o">-</span><span class="mi">2</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">clearstamps</span><span class="p">()</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.undo"><span class="yiyi-st" id="yiyi-266"> <code class="descclassname">turtle.</code><code class="descname">undo</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-267">Undo (repeatedly) the last turtle action(s). </span><span class="yiyi-st" id="yiyi-268">Number of available undo actions is determined by the size of the undobuffer.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">4</span><span class="p">):</span>
|
||
<span class="gp">... </span> <span class="n">turtle</span><span class="o">.</span><span class="n">fd</span><span class="p">(</span><span class="mi">50</span><span class="p">);</span> <span class="n">turtle</span><span class="o">.</span><span class="n">lt</span><span class="p">(</span><span class="mi">80</span><span class="p">)</span>
|
||
<span class="gp">...</span>
|
||
<span class="gp">>>> </span><span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">8</span><span class="p">):</span>
|
||
<span class="gp">... </span> <span class="n">turtle</span><span class="o">.</span><span class="n">undo</span><span class="p">()</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.speed"><span class="yiyi-st" id="yiyi-269"> <code class="descclassname">turtle.</code><code class="descname">speed</code><span class="sig-paren">(</span><em>speed=None</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-270">Parameters:</span></th><td class="field-body"><span class="yiyi-st" id="yiyi-271"><strong>speed</strong> – an integer in the range 0..10 or a speedstring (see below)</span></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-272">Set the turtle’s speed to an integer value in the range 0..10. </span><span class="yiyi-st" id="yiyi-273">If no argument is given, return current speed.</span></p><p><span class="yiyi-st" id="yiyi-274">If input is a number greater than 10 or smaller than 0.5, speed is set to 0. </span><span class="yiyi-st" id="yiyi-275">Speedstrings are mapped to speedvalues as follows:</span></p><ul class="simple"><li><span class="yiyi-st" id="yiyi-276">“fastest”: 0</span></li><li><span class="yiyi-st" id="yiyi-277">“fast”: 10</span></li><li><span class="yiyi-st" id="yiyi-278">“normal”: 6</span></li><li><span class="yiyi-st" id="yiyi-279">“slow”: 3</span></li><li><span class="yiyi-st" id="yiyi-280">“slowest”: 1</span></li></ul><p><span class="yiyi-st" id="yiyi-281">Speeds from 1 to 10 enforce increasingly faster animation of line drawing and turtle turning.</span></p><p><span class="yiyi-st" id="yiyi-282">Attention: <em>speed</em> = 0 means that <em>no</em> animation takes place. </span><span class="yiyi-st" id="yiyi-283">forward/back makes turtle jump and likewise left/right make the turtle turn instantly.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">speed</span><span class="p">()</span>
|
||
<span class="go">3</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">speed</span><span class="p">(</span><span class="s1">'normal'</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">speed</span><span class="p">()</span>
|
||
<span class="go">6</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">speed</span><span class="p">(</span><span class="mi">9</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">speed</span><span class="p">()</span>
|
||
<span class="go">9</span>
|
||
</code></pre></dd></dl></div><div class="section" id="tell-turtle-s-state"><h3><span class="yiyi-st" id="yiyi-284">24.1.3.2. </span><span class="yiyi-st" id="yiyi-285">Tell Turtle’s state</span></h3><dl class="function"><dt id="turtle.position"><span class="yiyi-st" id="yiyi-286"> <code class="descclassname">turtle.</code><code class="descname">position</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dt id="turtle.pos"><span class="yiyi-st" id="yiyi-287"> <code class="descclassname">turtle.</code><code class="descname">pos</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-288">Return the turtle’s current location (x,y) (as a <a class="reference internal" href="#turtle.Vec2D" title="turtle.Vec2D"><code class="xref py py-class docutils literal"><span class="pre">Vec2D</span></code></a> vector).</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">pos</span><span class="p">()</span>
|
||
<span class="go">(440.00,-0.00)</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.towards"><span class="yiyi-st" id="yiyi-289"> <code class="descclassname">turtle.</code><code class="descname">towards</code><span class="sig-paren">(</span><em>x</em>, <em>y=None</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-290">Parameters:</span></th><td class="field-body"><ul class="first last simple"><li><span class="yiyi-st" id="yiyi-291"><strong>x</strong> – a number or a pair/vector of numbers or a turtle instance</span></li><li><span class="yiyi-st" id="yiyi-292"><strong>y</strong> – a number if <em>x</em> is a number, else <code class="docutils literal"><span class="pre">None</span></code></span></li></ul></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-293">Return the angle between the line from turtle position to position specified by (x,y), the vector or the other turtle. </span><span class="yiyi-st" id="yiyi-294">This depends on the turtle’s start orientation which depends on the mode - “standard”/”world” or “logo”).</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">goto</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span> <span class="mi">10</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">towards</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">)</span>
|
||
<span class="go">225.0</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.xcor"><span class="yiyi-st" id="yiyi-295"> <code class="descclassname">turtle.</code><code class="descname">xcor</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-296">Return the turtle’s x coordinate.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">home</span><span class="p">()</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">left</span><span class="p">(</span><span class="mi">50</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">forward</span><span class="p">(</span><span class="mi">100</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">pos</span><span class="p">()</span>
|
||
<span class="go">(64.28,76.60)</span>
|
||
<span class="gp">>>> </span><span class="nb">print</span><span class="p">(</span><span class="nb">round</span><span class="p">(</span><span class="n">turtle</span><span class="o">.</span><span class="n">xcor</span><span class="p">(),</span> <span class="mi">5</span><span class="p">))</span>
|
||
<span class="go">64.27876</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.ycor"><span class="yiyi-st" id="yiyi-297"> <code class="descclassname">turtle.</code><code class="descname">ycor</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-298">Return the turtle’s y coordinate.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">home</span><span class="p">()</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">left</span><span class="p">(</span><span class="mi">60</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">forward</span><span class="p">(</span><span class="mi">100</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="nb">print</span><span class="p">(</span><span class="n">turtle</span><span class="o">.</span><span class="n">pos</span><span class="p">())</span>
|
||
<span class="go">(50.00,86.60)</span>
|
||
<span class="gp">>>> </span><span class="nb">print</span><span class="p">(</span><span class="nb">round</span><span class="p">(</span><span class="n">turtle</span><span class="o">.</span><span class="n">ycor</span><span class="p">(),</span> <span class="mi">5</span><span class="p">))</span>
|
||
<span class="go">86.60254</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.heading"><span class="yiyi-st" id="yiyi-299"> <code class="descclassname">turtle.</code><code class="descname">heading</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-300">Return the turtle’s current heading (value depends on the turtle mode, see <a class="reference internal" href="#turtle.mode" title="turtle.mode"><code class="xref py py-func docutils literal"><span class="pre">mode()</span></code></a>).</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">home</span><span class="p">()</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">left</span><span class="p">(</span><span class="mi">67</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">heading</span><span class="p">()</span>
|
||
<span class="go">67.0</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.distance"><span class="yiyi-st" id="yiyi-301"> <code class="descclassname">turtle.</code><code class="descname">distance</code><span class="sig-paren">(</span><em>x</em>, <em>y=None</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-302">Parameters:</span></th><td class="field-body"><ul class="first last simple"><li><span class="yiyi-st" id="yiyi-303"><strong>x</strong> – a number or a pair/vector of numbers or a turtle instance</span></li><li><span class="yiyi-st" id="yiyi-304"><strong>y</strong> – a number if <em>x</em> is a number, else <code class="docutils literal"><span class="pre">None</span></code></span></li></ul></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-305">Return the distance from the turtle to (x,y), the given vector, or the given other turtle, in turtle step units.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">home</span><span class="p">()</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">distance</span><span class="p">(</span><span class="mi">30</span><span class="p">,</span><span class="mi">40</span><span class="p">)</span>
|
||
<span class="go">50.0</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">distance</span><span class="p">((</span><span class="mi">30</span><span class="p">,</span><span class="mi">40</span><span class="p">))</span>
|
||
<span class="go">50.0</span>
|
||
<span class="gp">>>> </span><span class="n">joe</span> <span class="o">=</span> <span class="n">Turtle</span><span class="p">()</span>
|
||
<span class="gp">>>> </span><span class="n">joe</span><span class="o">.</span><span class="n">forward</span><span class="p">(</span><span class="mi">77</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">distance</span><span class="p">(</span><span class="n">joe</span><span class="p">)</span>
|
||
<span class="go">77.0</span>
|
||
</code></pre></dd></dl></div><div class="section" id="settings-for-measurement"><h3><span class="yiyi-st" id="yiyi-306">24.1.3.3. </span><span class="yiyi-st" id="yiyi-307">Settings for measurement</span></h3><dl class="function"><dt id="turtle.degrees"><span class="yiyi-st" id="yiyi-308"> <code class="descclassname">turtle.</code><code class="descname">degrees</code><span class="sig-paren">(</span><em>fullcircle=360.0</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-309">Parameters:</span></th><td class="field-body"><span class="yiyi-st" id="yiyi-310"><strong>fullcircle</strong> – a number</span></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-311">Set angle measurement units, i.e. </span><span class="yiyi-st" id="yiyi-312">set number of “degrees” for a full circle. </span><span class="yiyi-st" id="yiyi-313">Default value is 360 degrees.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">home</span><span class="p">()</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">left</span><span class="p">(</span><span class="mi">90</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">heading</span><span class="p">()</span>
|
||
<span class="go">90.0</span>
|
||
|
||
<span class="go">Change angle measurement unit to grad (also known as gon,</span>
|
||
<span class="go">grade, or gradian and equals 1/100-th of the right angle.)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">degrees</span><span class="p">(</span><span class="mf">400.0</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">heading</span><span class="p">()</span>
|
||
<span class="go">100.0</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">degrees</span><span class="p">(</span><span class="mi">360</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">heading</span><span class="p">()</span>
|
||
<span class="go">90.0</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.radians"><span class="yiyi-st" id="yiyi-314"> <code class="descclassname">turtle.</code><code class="descname">radians</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-315">Set the angle measurement units to radians. </span><span class="yiyi-st" id="yiyi-316">Equivalent to <code class="docutils literal"><span class="pre">degrees(2*math.pi)</span></code>.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">home</span><span class="p">()</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">left</span><span class="p">(</span><span class="mi">90</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">heading</span><span class="p">()</span>
|
||
<span class="go">90.0</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">radians</span><span class="p">()</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">heading</span><span class="p">()</span>
|
||
<span class="go">1.5707963267948966</span>
|
||
</code></pre></dd></dl></div><div class="section" id="pen-control"><h3><span class="yiyi-st" id="yiyi-317">24.1.3.4. </span><span class="yiyi-st" id="yiyi-318">Pen control</span></h3><div class="section" id="drawing-state"><h4><span class="yiyi-st" id="yiyi-319">24.1.3.4.1. </span><span class="yiyi-st" id="yiyi-320">Drawing state</span></h4><dl class="function"><dt id="turtle.pendown"><span class="yiyi-st" id="yiyi-321"> <code class="descclassname">turtle.</code><code class="descname">pendown</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dt id="turtle.pd"><span class="yiyi-st" id="yiyi-322"> <code class="descclassname">turtle.</code><code class="descname">pd</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dt id="turtle.down"><span class="yiyi-st" id="yiyi-323"> <code class="descclassname">turtle.</code><code class="descname">down</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-324">Pull the pen down – drawing when moving.</span></p></dd></dl><dl class="function"><dt id="turtle.penup"><span class="yiyi-st" id="yiyi-325"> <code class="descclassname">turtle.</code><code class="descname">penup</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dt id="turtle.pu"><span class="yiyi-st" id="yiyi-326"> <code class="descclassname">turtle.</code><code class="descname">pu</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dt id="turtle.up"><span class="yiyi-st" id="yiyi-327"> <code class="descclassname">turtle.</code><code class="descname">up</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-328">Pull the pen up – no drawing when moving.</span></p></dd></dl><dl class="function"><dt id="turtle.pensize"><span class="yiyi-st" id="yiyi-329"> <code class="descclassname">turtle.</code><code class="descname">pensize</code><span class="sig-paren">(</span><em>width=None</em><span class="sig-paren">)</span></span></dt><dt id="turtle.width"><span class="yiyi-st" id="yiyi-330"> <code class="descclassname">turtle.</code><code class="descname">width</code><span class="sig-paren">(</span><em>width=None</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-331">Parameters:</span></th><td class="field-body"><span class="yiyi-st" id="yiyi-332"><strong>width</strong> – a positive number</span></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-333">Set the line thickness to <em>width</em> or return it. </span><span class="yiyi-st" id="yiyi-334">If resizemode is set to “auto” and turtleshape is a polygon, that polygon is drawn with the same line thickness. </span><span class="yiyi-st" id="yiyi-335">If no argument is given, the current pensize is returned.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">pensize</span><span class="p">()</span>
|
||
<span class="go">1</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">pensize</span><span class="p">(</span><span class="mi">10</span><span class="p">)</span> <span class="c1"># from here on lines of width 10 are drawn</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.pen"><span class="yiyi-st" id="yiyi-336"> <code class="descclassname">turtle.</code><code class="descname">pen</code><span class="sig-paren">(</span><em>pen=None</em>, <em>**pendict</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-337">Parameters:</span></th><td class="field-body"><ul class="first last simple"><li><span class="yiyi-st" id="yiyi-338"><strong>pen</strong> – a dictionary with some or all of the below listed keys</span></li><li><span class="yiyi-st" id="yiyi-339"><strong>pendict</strong> – one or more keyword-arguments with the below listed keys as keywords</span></li></ul></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-340">Return or set the pen’s attributes in a “pen-dictionary” with the following key/value pairs:</span></p><ul class="simple"><li><span class="yiyi-st" id="yiyi-341">“shown”: True/False</span></li><li><span class="yiyi-st" id="yiyi-342">“pendown”: True/False</span></li><li><span class="yiyi-st" id="yiyi-343">“pencolor”: color-string or color-tuple</span></li><li><span class="yiyi-st" id="yiyi-344">“fillcolor”: color-string or color-tuple</span></li><li><span class="yiyi-st" id="yiyi-345">“pensize”: positive number</span></li><li><span class="yiyi-st" id="yiyi-346">“speed”: number in range 0..10</span></li><li><span class="yiyi-st" id="yiyi-347">“resizemode”: “auto” or “user” or “noresize”</span></li><li><span class="yiyi-st" id="yiyi-348">“stretchfactor”: (positive number, positive number)</span></li><li><span class="yiyi-st" id="yiyi-349">“outline”: positive number</span></li><li><span class="yiyi-st" id="yiyi-350">“tilt”: number</span></li></ul><p><span class="yiyi-st" id="yiyi-351">This dictionary can be used as argument for a subsequent call to <a class="reference internal" href="#turtle.pen" title="turtle.pen"><code class="xref py py-func docutils literal"><span class="pre">pen()</span></code></a> to restore the former pen-state. </span><span class="yiyi-st" id="yiyi-352">Moreover one or more of these attributes can be provided as keyword-arguments. </span><span class="yiyi-st" id="yiyi-353">This can be used to set several pen attributes in one statement.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">pen</span><span class="p">(</span><span class="n">fillcolor</span><span class="o">=</span><span class="s2">"black"</span><span class="p">,</span> <span class="n">pencolor</span><span class="o">=</span><span class="s2">"red"</span><span class="p">,</span> <span class="n">pensize</span><span class="o">=</span><span class="mi">10</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="nb">sorted</span><span class="p">(</span><span class="n">turtle</span><span class="o">.</span><span class="n">pen</span><span class="p">()</span><span class="o">.</span><span class="n">items</span><span class="p">())</span>
|
||
<span class="go">[('fillcolor', 'black'), ('outline', 1), ('pencolor', 'red'),</span>
|
||
<span class="go"> ('pendown', True), ('pensize', 10), ('resizemode', 'noresize'),</span>
|
||
<span class="go"> ('shearfactor', 0.0), ('shown', True), ('speed', 9),</span>
|
||
<span class="go"> ('stretchfactor', (1.0, 1.0)), ('tilt', 0.0)]</span>
|
||
<span class="gp">>>> </span><span class="n">penstate</span><span class="o">=</span><span class="n">turtle</span><span class="o">.</span><span class="n">pen</span><span class="p">()</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">color</span><span class="p">(</span><span class="s2">"yellow"</span><span class="p">,</span> <span class="s2">""</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">penup</span><span class="p">()</span>
|
||
<span class="gp">>>> </span><span class="nb">sorted</span><span class="p">(</span><span class="n">turtle</span><span class="o">.</span><span class="n">pen</span><span class="p">()</span><span class="o">.</span><span class="n">items</span><span class="p">())[:</span><span class="mi">3</span><span class="p">]</span>
|
||
<span class="go">[('fillcolor', ''), ('outline', 1), ('pencolor', 'yellow')]</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">pen</span><span class="p">(</span><span class="n">penstate</span><span class="p">,</span> <span class="n">fillcolor</span><span class="o">=</span><span class="s2">"green"</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="nb">sorted</span><span class="p">(</span><span class="n">turtle</span><span class="o">.</span><span class="n">pen</span><span class="p">()</span><span class="o">.</span><span class="n">items</span><span class="p">())[:</span><span class="mi">3</span><span class="p">]</span>
|
||
<span class="go">[('fillcolor', 'green'), ('outline', 1), ('pencolor', 'red')]</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.isdown"><span class="yiyi-st" id="yiyi-354"> <code class="descclassname">turtle.</code><code class="descname">isdown</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-355">Return <code class="docutils literal"><span class="pre">True</span></code> if pen is down, <code class="docutils literal"><span class="pre">False</span></code> if it’s up.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">penup</span><span class="p">()</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">isdown</span><span class="p">()</span>
|
||
<span class="go">False</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">pendown</span><span class="p">()</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">isdown</span><span class="p">()</span>
|
||
<span class="go">True</span>
|
||
</code></pre></dd></dl></div><div class="section" id="color-control"><h4><span class="yiyi-st" id="yiyi-356">24.1.3.4.2. </span><span class="yiyi-st" id="yiyi-357">Color control</span></h4><dl class="function"><dt id="turtle.pencolor"><span class="yiyi-st" id="yiyi-358"> <code class="descclassname">turtle.</code><code class="descname">pencolor</code><span class="sig-paren">(</span><em>*args</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-359">Return or set the pencolor.</span></p><p><span class="yiyi-st" id="yiyi-360">Four input formats are allowed:</span></p><dl class="docutils"><dt><span class="yiyi-st" id="yiyi-361"><code class="docutils literal"><span class="pre">pencolor()</span></code></span></dt><dd><span class="yiyi-st" id="yiyi-362">Return the current pencolor as color specification string or as a tuple (see example). </span><span class="yiyi-st" id="yiyi-363">May be used as input to another color/pencolor/fillcolor call.</span></dd><dt><span class="yiyi-st" id="yiyi-364"><code class="docutils literal"><span class="pre">pencolor(colorstring)</span></code></span></dt><dd><span class="yiyi-st" id="yiyi-365">将<em>colorstring</em>设定为pencolor,这是一个Tk颜色规范字符串,如<code class="docutils literal"><span class="pre">“red”</span></code>,<code class="docutils literal"><span class="pre">“yellow”</span></code>或<code class="docutils literal"><span class="pre">"#33cc8c"</span></code>。</span></dd><dt><span class="yiyi-st" id="yiyi-366"><code class="docutils literal"><span class="pre">pencolor((r,</span> <span class="pre">g,</span> <span class="pre">b))</span></code></span></dt><dd><span class="yiyi-st" id="yiyi-367">Set pencolor to the RGB color represented by the tuple of <em>r</em>, <em>g</em>, and <em>b</em>. </span><span class="yiyi-st" id="yiyi-368">Each of <em>r</em>, <em>g</em>, and <em>b</em> must be in the range 0..colormode, where colormode is either 1.0 or 255 (see <a class="reference internal" href="#turtle.colormode" title="turtle.colormode"><code class="xref py py-func docutils literal"><span class="pre">colormode()</span></code></a>).</span></dd><dt><span class="yiyi-st" id="yiyi-369"><code class="docutils literal"><span class="pre">pencolor(r,</span> <span class="pre">g,</span> <span class="pre">b)</span></code></span></dt><dd><span class="yiyi-st" id="yiyi-371"><blockquote class="first"> <div>Set pencolor to the RGB color represented by <em>r</em>, <em>g</em>, and <em>b</em>. Each of <em>r</em>, <em>g</em>, and <em>b</em> must be in the range 0..colormode.</div></blockquote></span><p class="last"><span class="yiyi-st" id="yiyi-370">If turtleshape is a polygon, the outline of that polygon is drawn with the newly set pencolor.</span></p></dd></dl><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">colormode</span><span class="p">()</span>
|
||
<span class="go">1.0</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">pencolor</span><span class="p">()</span>
|
||
<span class="go">'red'</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">pencolor</span><span class="p">(</span><span class="s2">"brown"</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">pencolor</span><span class="p">()</span>
|
||
<span class="go">'brown'</span>
|
||
<span class="gp">>>> </span><span class="n">tup</span> <span class="o">=</span> <span class="p">(</span><span class="mf">0.2</span><span class="p">,</span> <span class="mf">0.8</span><span class="p">,</span> <span class="mf">0.55</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">pencolor</span><span class="p">(</span><span class="n">tup</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">pencolor</span><span class="p">()</span>
|
||
<span class="go">(0.2, 0.8, 0.5490196078431373)</span>
|
||
<span class="gp">>>> </span><span class="n">colormode</span><span class="p">(</span><span class="mi">255</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">pencolor</span><span class="p">()</span>
|
||
<span class="go">(51.0, 204.0, 140.0)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">pencolor</span><span class="p">(</span><span class="s1">'#32c18f'</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">pencolor</span><span class="p">()</span>
|
||
<span class="go">(50.0, 193.0, 143.0)</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.fillcolor"><span class="yiyi-st" id="yiyi-372"> <code class="descclassname">turtle.</code><code class="descname">fillcolor</code><span class="sig-paren">(</span><em>*args</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-373">Return or set the fillcolor.</span></p><p><span class="yiyi-st" id="yiyi-374">Four input formats are allowed:</span></p><dl class="docutils"><dt><span class="yiyi-st" id="yiyi-375"><code class="docutils literal"><span class="pre">fillcolor()</span></code></span></dt><dd><span class="yiyi-st" id="yiyi-376">Return the current fillcolor as color specification string, possibly in tuple format (see example). </span><span class="yiyi-st" id="yiyi-377">May be used as input to another color/pencolor/fillcolor call.</span></dd><dt><span class="yiyi-st" id="yiyi-378"><code class="docutils literal"><span class="pre">fillcolor(colorstring)</span></code></span></dt><dd><span class="yiyi-st" id="yiyi-379">Set fillcolor to <em>colorstring</em>, which is a Tk color specification string, such as <code class="docutils literal"><span class="pre">"red"</span></code>, <code class="docutils literal"><span class="pre">"yellow"</span></code>, or <code class="docutils literal"><span class="pre">"#33cc8c"</span></code>.</span></dd><dt><span class="yiyi-st" id="yiyi-380"><code class="docutils literal"><span class="pre">fillcolor((r,</span> <span class="pre">g,</span> <span class="pre">b))</span></code></span></dt><dd><span class="yiyi-st" id="yiyi-381">Set fillcolor to the RGB color represented by the tuple of <em>r</em>, <em>g</em>, and <em>b</em>. </span><span class="yiyi-st" id="yiyi-382">Each of <em>r</em>, <em>g</em>, and <em>b</em> must be in the range 0..colormode, where colormode is either 1.0 or 255 (see <a class="reference internal" href="#turtle.colormode" title="turtle.colormode"><code class="xref py py-func docutils literal"><span class="pre">colormode()</span></code></a>).</span></dd><dt><span class="yiyi-st" id="yiyi-383"><code class="docutils literal"><span class="pre">fillcolor(r,</span> <span class="pre">g,</span> <span class="pre">b)</span></code></span></dt><dd><span class="yiyi-st" id="yiyi-385"><blockquote class="first"> <div>Set fillcolor to the RGB color represented by <em>r</em>, <em>g</em>, and <em>b</em>. Each of <em>r</em>, <em>g</em>, and <em>b</em> must be in the range 0..colormode.</div></blockquote></span><p class="last"><span class="yiyi-st" id="yiyi-384">If turtleshape is a polygon, the interior of that polygon is drawn with the newly set fillcolor.</span></p></dd></dl><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">fillcolor</span><span class="p">(</span><span class="s2">"violet"</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">fillcolor</span><span class="p">()</span>
|
||
<span class="go">'violet'</span>
|
||
<span class="gp">>>> </span><span class="n">col</span> <span class="o">=</span> <span class="n">turtle</span><span class="o">.</span><span class="n">pencolor</span><span class="p">()</span>
|
||
<span class="gp">>>> </span><span class="n">col</span>
|
||
<span class="go">(50.0, 193.0, 143.0)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">fillcolor</span><span class="p">(</span><span class="n">col</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">fillcolor</span><span class="p">()</span>
|
||
<span class="go">(50.0, 193.0, 143.0)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">fillcolor</span><span class="p">(</span><span class="s1">'#ffffff'</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">fillcolor</span><span class="p">()</span>
|
||
<span class="go">(255.0, 255.0, 255.0)</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.color"><span class="yiyi-st" id="yiyi-386"> <code class="descclassname">turtle.</code><code class="descname">color</code><span class="sig-paren">(</span><em>*args</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-387">Return or set pencolor and fillcolor.</span></p><p><span class="yiyi-st" id="yiyi-388">Several input formats are allowed. </span><span class="yiyi-st" id="yiyi-389">They use 0 to 3 arguments as follows:</span></p><dl class="docutils"><dt><span class="yiyi-st" id="yiyi-390"><code class="docutils literal"><span class="pre">color()</span></code></span></dt><dd><span class="yiyi-st" id="yiyi-391">Return the current pencolor and the current fillcolor as a pair of color specification strings or tuples as returned by <a class="reference internal" href="#turtle.pencolor" title="turtle.pencolor"><code class="xref py py-func docutils literal"><span class="pre">pencolor()</span></code></a> and <a class="reference internal" href="#turtle.fillcolor" title="turtle.fillcolor"><code class="xref py py-func docutils literal"><span class="pre">fillcolor()</span></code></a>.</span></dd><dt><span class="yiyi-st" id="yiyi-392"><code class="docutils literal"><span class="pre">color(colorstring)</span></code>, <code class="docutils literal"><span class="pre">color((r,g,b))</span></code>, <code class="docutils literal"><span class="pre">color(r,g,b)</span></code></span></dt><dd><span class="yiyi-st" id="yiyi-393">Inputs as in <a class="reference internal" href="#turtle.pencolor" title="turtle.pencolor"><code class="xref py py-func docutils literal"><span class="pre">pencolor()</span></code></a>, set both, fillcolor and pencolor, to the given value.</span></dd><dt><span class="yiyi-st" id="yiyi-394"><code class="docutils literal"><span class="pre">color(colorstring1,</span> <span class="pre">colorstring2)</span></code>, <code class="docutils literal"><span class="pre">color((r1,g1,b1),</span> <span class="pre">(r2,g2,b2))</span></code></span></dt><dd><span class="yiyi-st" id="yiyi-396"><blockquote class="first"> <div>Equivalent to <code class="docutils literal"><span class="pre">pencolor(colorstring1)</span></code> and <code class="docutils literal"><span class="pre">fillcolor(colorstring2)</span></code> and analogously if the other input format is used.</div></blockquote></span><p class="last"><span class="yiyi-st" id="yiyi-395">If turtleshape is a polygon, outline and interior of that polygon is drawn with the newly set colors.</span></p></dd></dl><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">color</span><span class="p">(</span><span class="s2">"red"</span><span class="p">,</span> <span class="s2">"green"</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">color</span><span class="p">()</span>
|
||
<span class="go">('red', 'green')</span>
|
||
<span class="gp">>>> </span><span class="n">color</span><span class="p">(</span><span class="s2">"#285078"</span><span class="p">,</span> <span class="s2">"#a0c8f0"</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">color</span><span class="p">()</span>
|
||
<span class="go">((40.0, 80.0, 120.0), (160.0, 200.0, 240.0))</span>
|
||
</code></pre></dd></dl><p><span class="yiyi-st" id="yiyi-397">See also: Screen method <a class="reference internal" href="#turtle.colormode" title="turtle.colormode"><code class="xref py py-func docutils literal"><span class="pre">colormode()</span></code></a>.</span></p></div><div class="section" id="filling"><h4><span class="yiyi-st" id="yiyi-398">24.1.3.4.3. </span><span class="yiyi-st" id="yiyi-399">Filling</span></h4><dl class="function"><dt id="turtle.filling"><span class="yiyi-st" id="yiyi-400"> <code class="descclassname">turtle.</code><code class="descname">filling</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-401">Return fillstate (<code class="docutils literal"><span class="pre">True</span></code> if filling, <code class="docutils literal"><span class="pre">False</span></code> else).</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">begin_fill</span><span class="p">()</span>
|
||
<span class="gp">>>> </span><span class="k">if</span> <span class="n">turtle</span><span class="o">.</span><span class="n">filling</span><span class="p">():</span>
|
||
<span class="gp">... </span> <span class="n">turtle</span><span class="o">.</span><span class="n">pensize</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span>
|
||
<span class="gp">... </span><span class="k">else</span><span class="p">:</span>
|
||
<span class="gp">... </span> <span class="n">turtle</span><span class="o">.</span><span class="n">pensize</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.begin_fill"><span class="yiyi-st" id="yiyi-402"> <code class="descclassname">turtle.</code><code class="descname">begin_fill</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-403">To be called just before drawing a shape to be filled.</span></p></dd></dl><dl class="function"><dt id="turtle.end_fill"><span class="yiyi-st" id="yiyi-404"> <code class="descclassname">turtle.</code><code class="descname">end_fill</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-405">Fill the shape drawn after the last call to <a class="reference internal" href="#turtle.begin_fill" title="turtle.begin_fill"><code class="xref py py-func docutils literal"><span class="pre">begin_fill()</span></code></a>.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">color</span><span class="p">(</span><span class="s2">"black"</span><span class="p">,</span> <span class="s2">"red"</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">begin_fill</span><span class="p">()</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">circle</span><span class="p">(</span><span class="mi">80</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">end_fill</span><span class="p">()</span>
|
||
</code></pre></dd></dl></div><div class="section" id="more-drawing-control"><h4><span class="yiyi-st" id="yiyi-406">24.1.3.4.4. </span><span class="yiyi-st" id="yiyi-407">More drawing control</span></h4><dl class="function"><dt id="turtle.reset"><span class="yiyi-st" id="yiyi-408"> <code class="descclassname">turtle.</code><code class="descname">reset</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-409">Delete the turtle’s drawings from the screen, re-center the turtle and set variables to the default values.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">goto</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="o">-</span><span class="mi">22</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">left</span><span class="p">(</span><span class="mi">100</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">position</span><span class="p">()</span>
|
||
<span class="go">(0.00,-22.00)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">heading</span><span class="p">()</span>
|
||
<span class="go">100.0</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">reset</span><span class="p">()</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">position</span><span class="p">()</span>
|
||
<span class="go">(0.00,0.00)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">heading</span><span class="p">()</span>
|
||
<span class="go">0.0</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.clear"><span class="yiyi-st" id="yiyi-410"> <code class="descclassname">turtle.</code><code class="descname">clear</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-411">Delete the turtle’s drawings from the screen. </span><span class="yiyi-st" id="yiyi-412">Do not move turtle. </span><span class="yiyi-st" id="yiyi-413">State and position of the turtle as well as drawings of other turtles are not affected.</span></p></dd></dl><dl class="function"><dt id="turtle.write"><span class="yiyi-st" id="yiyi-414"> <code class="descclassname">turtle.</code><code class="descname">write</code><span class="sig-paren">(</span><em>arg</em>, <em>move=False</em>, <em>align="left"</em>, <em>font=("Arial"</em>, <em>8</em>, <em>"normal")</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-415">Parameters:</span></th><td class="field-body"><ul class="first last simple"><li><span class="yiyi-st" id="yiyi-416"><strong>arg</strong> – object to be written to the TurtleScreen</span></li><li><span class="yiyi-st" id="yiyi-417"><strong>move</strong> – True/False</span></li><li><span class="yiyi-st" id="yiyi-418"><strong>align</strong> – one of the strings “left”, “center” or right”</span></li><li><span class="yiyi-st" id="yiyi-419"><strong>font</strong> – a triple (fontname, fontsize, fonttype)</span></li></ul></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-420">Write text - the string representation of <em>arg</em> - at the current turtle position according to <em>align</em> (“left”, “center” or right”) and with the given font. </span><span class="yiyi-st" id="yiyi-421">If <em>move</em> is true, the pen is moved to the bottom-right corner of the text. </span><span class="yiyi-st" id="yiyi-422">By default, <em>move</em> is <code class="docutils literal"><span class="pre">False</span></code>.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s2">"Home = "</span><span class="p">,</span> <span class="kc">True</span><span class="p">,</span> <span class="n">align</span><span class="o">=</span><span class="s2">"center"</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">write</span><span class="p">((</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">),</span> <span class="kc">True</span><span class="p">)</span>
|
||
</code></pre></dd></dl></div></div><div class="section" id="turtle-state"><h3><span class="yiyi-st" id="yiyi-423">24.1.3.5. </span><span class="yiyi-st" id="yiyi-424">Turtle state</span></h3><div class="section" id="visibility"><h4><span class="yiyi-st" id="yiyi-425">24.1.3.5.1. </span><span class="yiyi-st" id="yiyi-426">Visibility</span></h4><dl class="function"><dt id="turtle.hideturtle"><span class="yiyi-st" id="yiyi-427"> <code class="descclassname">turtle.</code><code class="descname">hideturtle</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dt id="turtle.ht"><span class="yiyi-st" id="yiyi-428"> <code class="descclassname">turtle.</code><code class="descname">ht</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-429">Make the turtle invisible. </span><span class="yiyi-st" id="yiyi-430">It’s a good idea to do this while you’re in the middle of doing some complex drawing, because hiding the turtle speeds up the drawing observably.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">hideturtle</span><span class="p">()</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.showturtle"><span class="yiyi-st" id="yiyi-431"> <code class="descclassname">turtle.</code><code class="descname">showturtle</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dt id="turtle.st"><span class="yiyi-st" id="yiyi-432"> <code class="descclassname">turtle.</code><code class="descname">st</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-433">Make the turtle visible.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">showturtle</span><span class="p">()</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.isvisible"><span class="yiyi-st" id="yiyi-434"> <code class="descclassname">turtle.</code><code class="descname">isvisible</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-435">Return <code class="docutils literal"><span class="pre">True</span></code> if the Turtle is shown, <code class="docutils literal"><span class="pre">False</span></code> if it’s hidden.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">hideturtle</span><span class="p">()</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">isvisible</span><span class="p">()</span>
|
||
<span class="go">False</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">showturtle</span><span class="p">()</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">isvisible</span><span class="p">()</span>
|
||
<span class="go">True</span>
|
||
</code></pre></dd></dl></div><div class="section" id="appearance"><h4><span class="yiyi-st" id="yiyi-436">24.1.3.5.2. </span><span class="yiyi-st" id="yiyi-437">Appearance</span></h4><dl class="function"><dt id="turtle.shape"><span class="yiyi-st" id="yiyi-438"> <code class="descclassname">turtle.</code><code class="descname">shape</code><span class="sig-paren">(</span><em>name=None</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-439">Parameters:</span></th><td class="field-body"><span class="yiyi-st" id="yiyi-440"><strong>name</strong> – a string which is a valid shapename</span></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-441">Set turtle shape to shape with given <em>name</em> or, if name is not given, return name of current shape. </span><span class="yiyi-st" id="yiyi-442">Shape with <em>name</em> must exist in the TurtleScreen’s shape dictionary. </span><span class="yiyi-st" id="yiyi-443">Initially there are the following polygon shapes: “arrow”, “turtle”, “circle”, “square”, “triangle”, “classic”. </span><span class="yiyi-st" id="yiyi-444">To learn about how to deal with shapes see Screen method <a class="reference internal" href="#turtle.register_shape" title="turtle.register_shape"><code class="xref py py-func docutils literal"><span class="pre">register_shape()</span></code></a>.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">shape</span><span class="p">()</span>
|
||
<span class="go">'classic'</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">shape</span><span class="p">(</span><span class="s2">"turtle"</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">shape</span><span class="p">()</span>
|
||
<span class="go">'turtle'</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.resizemode"><span class="yiyi-st" id="yiyi-445"> <code class="descclassname">turtle.</code><code class="descname">resizemode</code><span class="sig-paren">(</span><em>rmode=None</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-446">Parameters:</span></th><td class="field-body"><span class="yiyi-st" id="yiyi-447"><strong>rmode</strong> – one of the strings “auto”, “user”, “noresize”</span></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-448">Set resizemode to one of the values: “auto”, “user”, “noresize”. </span><span class="yiyi-st" id="yiyi-449">If <em>rmode</em> is not given, return current resizemode. </span><span class="yiyi-st" id="yiyi-450">Different resizemodes have the following effects:</span></p><ul class="simple"><li><span class="yiyi-st" id="yiyi-451">“auto”: adapts the appearance of the turtle corresponding to the value of pensize.</span></li><li><span class="yiyi-st" id="yiyi-452">“user”: adapts the appearance of the turtle according to the values of stretchfactor and outlinewidth (outline), which are set by <a class="reference internal" href="#turtle.shapesize" title="turtle.shapesize"><code class="xref py py-func docutils literal"><span class="pre">shapesize()</span></code></a>.</span></li><li><span class="yiyi-st" id="yiyi-453">“noresize”: no adaption of the turtle’s appearance takes place.</span></li></ul><p><span class="yiyi-st" id="yiyi-454">resizemode(“user”) is called by <a class="reference internal" href="#turtle.shapesize" title="turtle.shapesize"><code class="xref py py-func docutils literal"><span class="pre">shapesize()</span></code></a> when used with arguments.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">resizemode</span><span class="p">()</span>
|
||
<span class="go">'noresize'</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">resizemode</span><span class="p">(</span><span class="s2">"auto"</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">resizemode</span><span class="p">()</span>
|
||
<span class="go">'auto'</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.shapesize"><span class="yiyi-st" id="yiyi-455"> <code class="descclassname">turtle.</code><code class="descname">shapesize</code><span class="sig-paren">(</span><em>stretch_wid=None</em>, <em>stretch_len=None</em>, <em>outline=None</em><span class="sig-paren">)</span></span></dt><dt id="turtle.turtlesize"><span class="yiyi-st" id="yiyi-456"> <code class="descclassname">turtle.</code><code class="descname">turtlesize</code><span class="sig-paren">(</span><em>stretch_wid=None</em>, <em>stretch_len=None</em>, <em>outline=None</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-457">Parameters:</span></th><td class="field-body"><ul class="first last simple"><li><span class="yiyi-st" id="yiyi-458"><strong>stretch_wid</strong> – positive number</span></li><li><span class="yiyi-st" id="yiyi-459"><strong>stretch_len</strong> – positive number</span></li><li><span class="yiyi-st" id="yiyi-460"><strong>outline</strong> – positive number</span></li></ul></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-461">Return or set the pen’s attributes x/y-stretchfactors and/or outline. </span><span class="yiyi-st" id="yiyi-462">Set resizemode to “user”. </span><span class="yiyi-st" id="yiyi-463">If and only if resizemode is set to “user”, the turtle will be displayed stretched according to its stretchfactors: <em>stretch_wid</em> is stretchfactor perpendicular to its orientation, <em>stretch_len</em> is stretchfactor in direction of its orientation, <em>outline</em> determines the width of the shapes’s outline.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">shapesize</span><span class="p">()</span>
|
||
<span class="go">(1.0, 1.0, 1)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">resizemode</span><span class="p">(</span><span class="s2">"user"</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">shapesize</span><span class="p">(</span><span class="mi">5</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="mi">12</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">shapesize</span><span class="p">()</span>
|
||
<span class="go">(5, 5, 12)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">shapesize</span><span class="p">(</span><span class="n">outline</span><span class="o">=</span><span class="mi">8</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">shapesize</span><span class="p">()</span>
|
||
<span class="go">(5, 5, 8)</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.shearfactor"><span class="yiyi-st" id="yiyi-464"> <code class="descclassname">turtle.</code><code class="descname">shearfactor</code><span class="sig-paren">(</span><em>shear=None</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-465">Parameters:</span></th><td class="field-body"><span class="yiyi-st" id="yiyi-466"><strong>shear</strong> – number (optional)</span></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-467">Set or return the current shearfactor. </span><span class="yiyi-st" id="yiyi-468">Shear the turtleshape according to the given shearfactor shear, which is the tangent of the shear angle. </span><span class="yiyi-st" id="yiyi-469">Do <em>not</em> change the turtle’s heading (direction of movement). </span><span class="yiyi-st" id="yiyi-470">If shear is not given: return the current shearfactor, i. e. the tangent of the shear angle, by which lines parallel to the heading of the turtle are sheared.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">shape</span><span class="p">(</span><span class="s2">"circle"</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">shapesize</span><span class="p">(</span><span class="mi">5</span><span class="p">,</span><span class="mi">2</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">shearfactor</span><span class="p">(</span><span class="mf">0.5</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">shearfactor</span><span class="p">()</span>
|
||
<span class="go">0.5</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.tilt"><span class="yiyi-st" id="yiyi-471"> <code class="descclassname">turtle.</code><code class="descname">tilt</code><span class="sig-paren">(</span><em>angle</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-472">Parameters:</span></th><td class="field-body"><span class="yiyi-st" id="yiyi-473"><strong>angle</strong> – a number</span></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-474">Rotate the turtleshape by <em>angle</em> from its current tilt-angle, but do <em>not</em> change the turtle’s heading (direction of movement).</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">reset</span><span class="p">()</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">shape</span><span class="p">(</span><span class="s2">"circle"</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">shapesize</span><span class="p">(</span><span class="mi">5</span><span class="p">,</span><span class="mi">2</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">tilt</span><span class="p">(</span><span class="mi">30</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">fd</span><span class="p">(</span><span class="mi">50</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">tilt</span><span class="p">(</span><span class="mi">30</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">fd</span><span class="p">(</span><span class="mi">50</span><span class="p">)</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.settiltangle"><span class="yiyi-st" id="yiyi-475"> <code class="descclassname">turtle.</code><code class="descname">settiltangle</code><span class="sig-paren">(</span><em>angle</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-476">Parameters:</span></th><td class="field-body"><span class="yiyi-st" id="yiyi-477"><strong>angle</strong> – a number</span></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-478">Rotate the turtleshape to point in the direction specified by <em>angle</em>, regardless of its current tilt-angle. </span><span class="yiyi-st" id="yiyi-479"><em>Do not</em> change the turtle’s heading (direction of movement).</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">reset</span><span class="p">()</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">shape</span><span class="p">(</span><span class="s2">"circle"</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">shapesize</span><span class="p">(</span><span class="mi">5</span><span class="p">,</span><span class="mi">2</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">settiltangle</span><span class="p">(</span><span class="mi">45</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">fd</span><span class="p">(</span><span class="mi">50</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">settiltangle</span><span class="p">(</span><span class="o">-</span><span class="mi">45</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">fd</span><span class="p">(</span><span class="mi">50</span><span class="p">)</span>
|
||
</code></pre><div class="deprecated"><p><span class="yiyi-st" id="yiyi-480"><span class="versionmodified">Deprecated since version 3.1.</span></span></p></div></dd></dl><dl class="function"><dt id="turtle.tiltangle"><span class="yiyi-st" id="yiyi-481"> <code class="descclassname">turtle.</code><code class="descname">tiltangle</code><span class="sig-paren">(</span><em>angle=None</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-482">Parameters:</span></th><td class="field-body"><span class="yiyi-st" id="yiyi-483"><strong>angle</strong> – a number (optional)</span></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-484">Set or return the current tilt-angle. </span><span class="yiyi-st" id="yiyi-485">If angle is given, rotate the turtleshape to point in the direction specified by angle, regardless of its current tilt-angle. </span><span class="yiyi-st" id="yiyi-486">Do <em>not</em> change the turtle’s heading (direction of movement). </span><span class="yiyi-st" id="yiyi-487">If angle is not given: return the current tilt-angle, i. e. the angle between the orientation of the turtleshape and the heading of the turtle (its direction of movement).</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">reset</span><span class="p">()</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">shape</span><span class="p">(</span><span class="s2">"circle"</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">shapesize</span><span class="p">(</span><span class="mi">5</span><span class="p">,</span><span class="mi">2</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">tilt</span><span class="p">(</span><span class="mi">45</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">tiltangle</span><span class="p">()</span>
|
||
<span class="go">45.0</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.shapetransform"><span class="yiyi-st" id="yiyi-488"> <code class="descclassname">turtle.</code><code class="descname">shapetransform</code><span class="sig-paren">(</span><em>t11=None</em>, <em>t12=None</em>, <em>t21=None</em>, <em>t22=None</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-489">Parameters:</span></th><td class="field-body"><ul class="first last simple"><li><span class="yiyi-st" id="yiyi-490"><strong>t11</strong> – a number (optional)</span></li><li><span class="yiyi-st" id="yiyi-491"><strong>t12</strong> – a number (optional)</span></li><li><span class="yiyi-st" id="yiyi-492"><strong>t21</strong> – a number (optional)</span></li><li><span class="yiyi-st" id="yiyi-493"><strong>t12</strong> – a number (optional)</span></li></ul></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-494">Set or return the current transformation matrix of the turtle shape.</span></p><p><span class="yiyi-st" id="yiyi-495">If none of the matrix elements are given, return the transformation matrix as a tuple of 4 elements. </span><span class="yiyi-st" id="yiyi-496">Otherwise set the given elements and transform the turtleshape according to the matrix consisting of first row t11, t12 and second row t21, 22. </span><span class="yiyi-st" id="yiyi-497">The determinant t11 * t22 - t12 * t21 must not be zero, otherwise an error is raised. </span><span class="yiyi-st" id="yiyi-498">Modify stretchfactor, shearfactor and tiltangle according to the given matrix.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">turtle</span> <span class="o">=</span> <span class="n">Turtle</span><span class="p">()</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">shape</span><span class="p">(</span><span class="s2">"square"</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">shapesize</span><span class="p">(</span><span class="mi">4</span><span class="p">,</span><span class="mi">2</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">shearfactor</span><span class="p">(</span><span class="o">-</span><span class="mf">0.5</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">shapetransform</span><span class="p">()</span>
|
||
<span class="go">(4.0, -1.0, -0.0, 2.0)</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.get_shapepoly"><span class="yiyi-st" id="yiyi-499"> <code class="descclassname">turtle.</code><code class="descname">get_shapepoly</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-500">Return the current shape polygon as tuple of coordinate pairs. </span><span class="yiyi-st" id="yiyi-501">This can be used to define a new shape or components of a compound shape.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">shape</span><span class="p">(</span><span class="s2">"square"</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">shapetransform</span><span class="p">(</span><span class="mi">4</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">get_shapepoly</span><span class="p">()</span>
|
||
<span class="go">((50, -20), (30, 20), (-50, 20), (-30, -20))</span>
|
||
</code></pre></dd></dl></div></div><div class="section" id="using-events"><h3><span class="yiyi-st" id="yiyi-502">24.1.3.6. </span><span class="yiyi-st" id="yiyi-503">Using events</span></h3><dl class="function"><dt id="turtle.onclick"><span class="yiyi-st" id="yiyi-504"> <code class="descclassname">turtle.</code><code class="descname">onclick</code><span class="sig-paren">(</span><em>fun</em>, <em>btn=1</em>, <em>add=None</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-505">Parameters:</span></th><td class="field-body"><ul class="first last simple"><li><span class="yiyi-st" id="yiyi-506"><strong>fun</strong> – a function with two arguments which will be called with the coordinates of the clicked point on the canvas</span></li><li><span class="yiyi-st" id="yiyi-507"><strong>num</strong> – number of the mouse-button, defaults to 1 (left mouse button)</span></li><li><span class="yiyi-st" id="yiyi-508"><strong>add</strong> – <code class="docutils literal"><span class="pre">True</span></code> or <code class="docutils literal"><span class="pre">False</span></code> – if <code class="docutils literal"><span class="pre">True</span></code>, a new binding will be added, otherwise it will replace a former binding</span></li></ul></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-509">Bind <em>fun</em> to mouse-click events on this turtle. </span><span class="yiyi-st" id="yiyi-510">If <em>fun</em> is <code class="docutils literal"><span class="pre">None</span></code>, existing bindings are removed. </span><span class="yiyi-st" id="yiyi-511">Example for the anonymous turtle, i.e. </span><span class="yiyi-st" id="yiyi-512">the procedural way:</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="k">def</span> <span class="nf">turn</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">):</span>
|
||
<span class="gp">... </span> <span class="n">left</span><span class="p">(</span><span class="mi">180</span><span class="p">)</span>
|
||
<span class="gp">...</span>
|
||
<span class="gp">>>> </span><span class="n">onclick</span><span class="p">(</span><span class="n">turn</span><span class="p">)</span> <span class="c1"># Now clicking into the turtle will turn it.</span>
|
||
<span class="gp">>>> </span><span class="n">onclick</span><span class="p">(</span><span class="kc">None</span><span class="p">)</span> <span class="c1"># event-binding will be removed</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.onrelease"><span class="yiyi-st" id="yiyi-513"> <code class="descclassname">turtle.</code><code class="descname">onrelease</code><span class="sig-paren">(</span><em>fun</em>, <em>btn=1</em>, <em>add=None</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-514">Parameters:</span></th><td class="field-body"><ul class="first last simple"><li><span class="yiyi-st" id="yiyi-515"><strong>fun</strong> – a function with two arguments which will be called with the coordinates of the clicked point on the canvas</span></li><li><span class="yiyi-st" id="yiyi-516"><strong>num</strong> – number of the mouse-button, defaults to 1 (left mouse button)</span></li><li><span class="yiyi-st" id="yiyi-517"><strong>add</strong> – <code class="docutils literal"><span class="pre">True</span></code> or <code class="docutils literal"><span class="pre">False</span></code> – if <code class="docutils literal"><span class="pre">True</span></code>, a new binding will be added, otherwise it will replace a former binding</span></li></ul></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-518">Bind <em>fun</em> to mouse-button-release events on this turtle. </span><span class="yiyi-st" id="yiyi-519">If <em>fun</em> is <code class="docutils literal"><span class="pre">None</span></code>, existing bindings are removed.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="k">class</span> <span class="nc">MyTurtle</span><span class="p">(</span><span class="n">Turtle</span><span class="p">):</span>
|
||
<span class="gp">... </span> <span class="k">def</span> <span class="nf">glow</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">):</span>
|
||
<span class="gp">... </span> <span class="bp">self</span><span class="o">.</span><span class="n">fillcolor</span><span class="p">(</span><span class="s2">"red"</span><span class="p">)</span>
|
||
<span class="gp">... </span> <span class="k">def</span> <span class="nf">unglow</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">):</span>
|
||
<span class="gp">... </span> <span class="bp">self</span><span class="o">.</span><span class="n">fillcolor</span><span class="p">(</span><span class="s2">""</span><span class="p">)</span>
|
||
<span class="gp">...</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span> <span class="o">=</span> <span class="n">MyTurtle</span><span class="p">()</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">onclick</span><span class="p">(</span><span class="n">turtle</span><span class="o">.</span><span class="n">glow</span><span class="p">)</span> <span class="c1"># clicking on turtle turns fillcolor red,</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">onrelease</span><span class="p">(</span><span class="n">turtle</span><span class="o">.</span><span class="n">unglow</span><span class="p">)</span> <span class="c1"># releasing turns it to transparent.</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.ondrag"><span class="yiyi-st" id="yiyi-520"> <code class="descclassname">turtle.</code><code class="descname">ondrag</code><span class="sig-paren">(</span><em>fun</em>, <em>btn=1</em>, <em>add=None</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-521">Parameters:</span></th><td class="field-body"><ul class="first last simple"><li><span class="yiyi-st" id="yiyi-522"><strong>fun</strong> – a function with two arguments which will be called with the coordinates of the clicked point on the canvas</span></li><li><span class="yiyi-st" id="yiyi-523"><strong>num</strong> – number of the mouse-button, defaults to 1 (left mouse button)</span></li><li><span class="yiyi-st" id="yiyi-524"><strong>add</strong> – <code class="docutils literal"><span class="pre">True</span></code> or <code class="docutils literal"><span class="pre">False</span></code> – if <code class="docutils literal"><span class="pre">True</span></code>, a new binding will be added, otherwise it will replace a former binding</span></li></ul></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-525">Bind <em>fun</em> to mouse-move events on this turtle. </span><span class="yiyi-st" id="yiyi-526">If <em>fun</em> is <code class="docutils literal"><span class="pre">None</span></code>, existing bindings are removed.</span></p><p><span class="yiyi-st" id="yiyi-527">Remark: Every sequence of mouse-move-events on a turtle is preceded by a mouse-click event on that turtle.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">ondrag</span><span class="p">(</span><span class="n">turtle</span><span class="o">.</span><span class="n">goto</span><span class="p">)</span>
|
||
</code></pre><p><span class="yiyi-st" id="yiyi-528">Subsequently, clicking and dragging the Turtle will move it across the screen thereby producing handdrawings (if pen is down).</span></p></dd></dl></div><div class="section" id="special-turtle-methods"><h3><span class="yiyi-st" id="yiyi-529">24.1.3.7. </span><span class="yiyi-st" id="yiyi-530">Special Turtle methods</span></h3><dl class="function"><dt id="turtle.begin_poly"><span class="yiyi-st" id="yiyi-531"> <code class="descclassname">turtle.</code><code class="descname">begin_poly</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-532">Start recording the vertices of a polygon. </span><span class="yiyi-st" id="yiyi-533">Current turtle position is first vertex of polygon.</span></p></dd></dl><dl class="function"><dt id="turtle.end_poly"><span class="yiyi-st" id="yiyi-534"> <code class="descclassname">turtle.</code><code class="descname">end_poly</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-535">Stop recording the vertices of a polygon. </span><span class="yiyi-st" id="yiyi-536">Current turtle position is last vertex of polygon. </span><span class="yiyi-st" id="yiyi-537">This will be connected with the first vertex.</span></p></dd></dl><dl class="function"><dt id="turtle.get_poly"><span class="yiyi-st" id="yiyi-538"> <code class="descclassname">turtle.</code><code class="descname">get_poly</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-539">Return the last recorded polygon.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">home</span><span class="p">()</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">begin_poly</span><span class="p">()</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">fd</span><span class="p">(</span><span class="mi">100</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">left</span><span class="p">(</span><span class="mi">20</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">fd</span><span class="p">(</span><span class="mi">30</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">left</span><span class="p">(</span><span class="mi">60</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">fd</span><span class="p">(</span><span class="mi">50</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">end_poly</span><span class="p">()</span>
|
||
<span class="gp">>>> </span><span class="n">p</span> <span class="o">=</span> <span class="n">turtle</span><span class="o">.</span><span class="n">get_poly</span><span class="p">()</span>
|
||
<span class="gp">>>> </span><span class="n">register_shape</span><span class="p">(</span><span class="s2">"myFavouriteShape"</span><span class="p">,</span> <span class="n">p</span><span class="p">)</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.clone"><span class="yiyi-st" id="yiyi-540"> <code class="descclassname">turtle.</code><code class="descname">clone</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-541">Create and return a clone of the turtle with same position, heading and turtle properties.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">mick</span> <span class="o">=</span> <span class="n">Turtle</span><span class="p">()</span>
|
||
<span class="gp">>>> </span><span class="n">joe</span> <span class="o">=</span> <span class="n">mick</span><span class="o">.</span><span class="n">clone</span><span class="p">()</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.getturtle"><span class="yiyi-st" id="yiyi-542"> <code class="descclassname">turtle.</code><code class="descname">getturtle</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dt id="turtle.getpen"><span class="yiyi-st" id="yiyi-543"> <code class="descclassname">turtle.</code><code class="descname">getpen</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-544">Return the Turtle object itself. </span><span class="yiyi-st" id="yiyi-545">Only reasonable use: as a function to return the “anonymous turtle”:</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">pet</span> <span class="o">=</span> <span class="n">getturtle</span><span class="p">()</span>
|
||
<span class="gp">>>> </span><span class="n">pet</span><span class="o">.</span><span class="n">fd</span><span class="p">(</span><span class="mi">50</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">pet</span>
|
||
<span class="go"><turtle.Turtle object at 0x...></span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.getscreen"><span class="yiyi-st" id="yiyi-546"> <code class="descclassname">turtle.</code><code class="descname">getscreen</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-547">Return the <a class="reference internal" href="#turtle.TurtleScreen" title="turtle.TurtleScreen"><code class="xref py py-class docutils literal"><span class="pre">TurtleScreen</span></code></a> object the turtle is drawing on. </span><span class="yiyi-st" id="yiyi-548">TurtleScreen methods can then be called for that object.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">ts</span> <span class="o">=</span> <span class="n">turtle</span><span class="o">.</span><span class="n">getscreen</span><span class="p">()</span>
|
||
<span class="gp">>>> </span><span class="n">ts</span>
|
||
<span class="go"><turtle._Screen object at 0x...></span>
|
||
<span class="gp">>>> </span><span class="n">ts</span><span class="o">.</span><span class="n">bgcolor</span><span class="p">(</span><span class="s2">"pink"</span><span class="p">)</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.setundobuffer"><span class="yiyi-st" id="yiyi-549"> <code class="descclassname">turtle.</code><code class="descname">setundobuffer</code><span class="sig-paren">(</span><em>size</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-550">Parameters:</span></th><td class="field-body"><span class="yiyi-st" id="yiyi-551"><strong>size</strong> – an integer or <code class="docutils literal"><span class="pre">None</span></code></span></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-552">Set or disable undobuffer. </span><span class="yiyi-st" id="yiyi-553">If <em>size</em> is an integer an empty undobuffer of given size is installed. </span><span class="yiyi-st" id="yiyi-554"><em>size</em> gives the maximum number of turtle actions that can be undone by the <a class="reference internal" href="#turtle.undo" title="turtle.undo"><code class="xref py py-func docutils literal"><span class="pre">undo()</span></code></a> method/function. </span><span class="yiyi-st" id="yiyi-555">If <em>size</em> is <code class="docutils literal"><span class="pre">None</span></code>, the undobuffer is disabled.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">setundobuffer</span><span class="p">(</span><span class="mi">42</span><span class="p">)</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.undobufferentries"><span class="yiyi-st" id="yiyi-556"> <code class="descclassname">turtle.</code><code class="descname">undobufferentries</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-557">Return number of entries in the undobuffer.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="k">while</span> <span class="n">undobufferentries</span><span class="p">():</span>
|
||
<span class="gp">... </span> <span class="n">undo</span><span class="p">()</span>
|
||
</code></pre></dd></dl></div><div class="section" id="compound-shapes"><h3><span class="yiyi-st" id="yiyi-558">24.1.3.8. </span><span class="yiyi-st" id="yiyi-559">Compound shapes</span></h3><p><span class="yiyi-st" id="yiyi-560">To use compound turtle shapes, which consist of several polygons of different color, you must use the helper class <a class="reference internal" href="#turtle.Shape" title="turtle.Shape"><code class="xref py py-class docutils literal"><span class="pre">Shape</span></code></a> explicitly as described below:</span></p><ol class="arabic"><li><p class="first"><span class="yiyi-st" id="yiyi-561">Create an empty Shape object of type “compound”.</span></p></li><li><p class="first"><span class="yiyi-st" id="yiyi-562">Add as many components to this object as desired, using the <code class="xref py py-meth docutils literal"><span class="pre">addcomponent()</span></code> method.</span></p><p><span class="yiyi-st" id="yiyi-563">For example:</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">s</span> <span class="o">=</span> <span class="n">Shape</span><span class="p">(</span><span class="s2">"compound"</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">poly1</span> <span class="o">=</span> <span class="p">((</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">),(</span><span class="mi">10</span><span class="p">,</span><span class="o">-</span><span class="mi">5</span><span class="p">),(</span><span class="mi">0</span><span class="p">,</span><span class="mi">10</span><span class="p">),(</span><span class="o">-</span><span class="mi">10</span><span class="p">,</span><span class="o">-</span><span class="mi">5</span><span class="p">))</span>
|
||
<span class="gp">>>> </span><span class="n">s</span><span class="o">.</span><span class="n">addcomponent</span><span class="p">(</span><span class="n">poly1</span><span class="p">,</span> <span class="s2">"red"</span><span class="p">,</span> <span class="s2">"blue"</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">poly2</span> <span class="o">=</span> <span class="p">((</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">),(</span><span class="mi">10</span><span class="p">,</span><span class="o">-</span><span class="mi">5</span><span class="p">),(</span><span class="o">-</span><span class="mi">10</span><span class="p">,</span><span class="o">-</span><span class="mi">5</span><span class="p">))</span>
|
||
<span class="gp">>>> </span><span class="n">s</span><span class="o">.</span><span class="n">addcomponent</span><span class="p">(</span><span class="n">poly2</span><span class="p">,</span> <span class="s2">"blue"</span><span class="p">,</span> <span class="s2">"red"</span><span class="p">)</span>
|
||
</code></pre></li><li><p class="first"><span class="yiyi-st" id="yiyi-564">Now add the Shape to the Screen’s shapelist and use it:</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">register_shape</span><span class="p">(</span><span class="s2">"myshape"</span><span class="p">,</span> <span class="n">s</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">shape</span><span class="p">(</span><span class="s2">"myshape"</span><span class="p">)</span>
|
||
</code></pre></li></ol><div class="admonition note"><p class="first admonition-title"><span class="yiyi-st" id="yiyi-565">Note</span></p><p class="last"><span class="yiyi-st" id="yiyi-566">The <a class="reference internal" href="#turtle.Shape" title="turtle.Shape"><code class="xref py py-class docutils literal"><span class="pre">Shape</span></code></a> class is used internally by the <a class="reference internal" href="#turtle.register_shape" title="turtle.register_shape"><code class="xref py py-func docutils literal"><span class="pre">register_shape()</span></code></a> method in different ways. </span><span class="yiyi-st" id="yiyi-567">The application programmer has to deal with the Shape class <em>only</em> when using compound shapes like shown above!</span></p></div></div></div><div class="section" id="methods-of-turtlescreen-screen-and-corresponding-functions"><h2><span class="yiyi-st" id="yiyi-568">24.1.4. </span><span class="yiyi-st" id="yiyi-569">Methods of TurtleScreen/Screen and corresponding functions</span></h2><p><span class="yiyi-st" id="yiyi-570">Most of the examples in this section refer to a TurtleScreen instance called <code class="docutils literal"><span class="pre">screen</span></code>.</span></p><div class="section" id="window-control"><h3><span class="yiyi-st" id="yiyi-571">24.1.4.1. </span><span class="yiyi-st" id="yiyi-572">Window control</span></h3><dl class="function"><dt id="turtle.bgcolor"><span class="yiyi-st" id="yiyi-573"> <code class="descclassname">turtle.</code><code class="descname">bgcolor</code><span class="sig-paren">(</span><em>*args</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-574">Parameters:</span></th><td class="field-body"><span class="yiyi-st" id="yiyi-575"><strong>args</strong> – a color string or three numbers in the range 0..colormode or a 3-tuple of such numbers</span></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-576">Set or return background color of the TurtleScreen.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">screen</span><span class="o">.</span><span class="n">bgcolor</span><span class="p">(</span><span class="s2">"orange"</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">screen</span><span class="o">.</span><span class="n">bgcolor</span><span class="p">()</span>
|
||
<span class="go">'orange'</span>
|
||
<span class="gp">>>> </span><span class="n">screen</span><span class="o">.</span><span class="n">bgcolor</span><span class="p">(</span><span class="s2">"#800080"</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">screen</span><span class="o">.</span><span class="n">bgcolor</span><span class="p">()</span>
|
||
<span class="go">(128.0, 0.0, 128.0)</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.bgpic"><span class="yiyi-st" id="yiyi-577"> <code class="descclassname">turtle.</code><code class="descname">bgpic</code><span class="sig-paren">(</span><em>picname=None</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-578">Parameters:</span></th><td class="field-body"><span class="yiyi-st" id="yiyi-579"><strong>picname</strong> – a string, name of a gif-file or <code class="docutils literal"><span class="pre">"nopic"</span></code>, or <code class="docutils literal"><span class="pre">None</span></code></span></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-580">Set background image or return name of current backgroundimage. </span><span class="yiyi-st" id="yiyi-581">If <em>picname</em> is a filename, set the corresponding image as background. </span><span class="yiyi-st" id="yiyi-582">If <em>picname</em> is <code class="docutils literal"><span class="pre">"nopic"</span></code>, delete background image, if present. </span><span class="yiyi-st" id="yiyi-583">If <em>picname</em> is <code class="docutils literal"><span class="pre">None</span></code>, return the filename of the current backgroundimage.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">screen</span><span class="o">.</span><span class="n">bgpic</span><span class="p">()</span>
|
||
<span class="go">'nopic'</span>
|
||
<span class="gp">>>> </span><span class="n">screen</span><span class="o">.</span><span class="n">bgpic</span><span class="p">(</span><span class="s2">"landscape.gif"</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">screen</span><span class="o">.</span><span class="n">bgpic</span><span class="p">()</span>
|
||
<span class="go">"landscape.gif"</span>
|
||
</code></pre></dd></dl><dl class="function"><dt><span class="yiyi-st" id="yiyi-584"> <code class="descclassname">turtle.</code><code class="descname">clear</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dt id="turtle.clearscreen"><span class="yiyi-st" id="yiyi-585"> <code class="descclassname">turtle.</code><code class="descname">clearscreen</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-586">Delete all drawings and all turtles from the TurtleScreen. </span><span class="yiyi-st" id="yiyi-587">Reset the now empty TurtleScreen to its initial state: white background, no background image, no event bindings and tracing on.</span></p><div class="admonition note"><p class="first admonition-title"><span class="yiyi-st" id="yiyi-588">Note</span></p><p class="last"><span class="yiyi-st" id="yiyi-589">This TurtleScreen method is available as a global function only under the name <code class="docutils literal"><span class="pre">clearscreen</span></code>. </span><span class="yiyi-st" id="yiyi-590">The global function <code class="docutils literal"><span class="pre">clear</span></code> is a different one derived from the Turtle method <code class="docutils literal"><span class="pre">clear</span></code>.</span></p></div></dd></dl><dl class="function"><dt><span class="yiyi-st" id="yiyi-591"> <code class="descclassname">turtle.</code><code class="descname">reset</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dt id="turtle.resetscreen"><span class="yiyi-st" id="yiyi-592"> <code class="descclassname">turtle.</code><code class="descname">resetscreen</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-593">Reset all Turtles on the Screen to their initial state.</span></p><div class="admonition note"><p class="first admonition-title"><span class="yiyi-st" id="yiyi-594">Note</span></p><p class="last"><span class="yiyi-st" id="yiyi-595">This TurtleScreen method is available as a global function only under the name <code class="docutils literal"><span class="pre">resetscreen</span></code>. </span><span class="yiyi-st" id="yiyi-596">The global function <code class="docutils literal"><span class="pre">reset</span></code> is another one derived from the Turtle method <code class="docutils literal"><span class="pre">reset</span></code>.</span></p></div></dd></dl><dl class="function"><dt id="turtle.screensize"><span class="yiyi-st" id="yiyi-597"> <code class="descclassname">turtle.</code><code class="descname">screensize</code><span class="sig-paren">(</span><em>canvwidth=None</em>, <em>canvheight=None</em>, <em>bg=None</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-598">Parameters:</span></th><td class="field-body"><ul class="first last simple"><li><span class="yiyi-st" id="yiyi-599"><strong>canvwidth</strong> – positive integer, new width of canvas in pixels</span></li><li><span class="yiyi-st" id="yiyi-600"><strong>canvheight</strong> – positive integer, new height of canvas in pixels</span></li><li><span class="yiyi-st" id="yiyi-601"><strong>bg</strong> – colorstring or color-tuple, new background color</span></li></ul></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-602">If no arguments are given, return current (canvaswidth, canvasheight). </span><span class="yiyi-st" id="yiyi-603">Else resize the canvas the turtles are drawing on. </span><span class="yiyi-st" id="yiyi-604">Do not alter the drawing window. </span><span class="yiyi-st" id="yiyi-605">To observe hidden parts of the canvas, use the scrollbars. </span><span class="yiyi-st" id="yiyi-606">With this method, one can make visible those parts of a drawing which were outside the canvas before.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">screen</span><span class="o">.</span><span class="n">screensize</span><span class="p">()</span>
|
||
<span class="go">(400, 300)</span>
|
||
<span class="gp">>>> </span><span class="n">screen</span><span class="o">.</span><span class="n">screensize</span><span class="p">(</span><span class="mi">2000</span><span class="p">,</span><span class="mi">1500</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">screen</span><span class="o">.</span><span class="n">screensize</span><span class="p">()</span>
|
||
<span class="go">(2000, 1500)</span>
|
||
</code></pre><p><span class="yiyi-st" id="yiyi-607">e.g. </span><span class="yiyi-st" id="yiyi-608">to search for an erroneously escaped turtle ;-)</span></p></dd></dl><dl class="function"><dt id="turtle.setworldcoordinates"><span class="yiyi-st" id="yiyi-609"> <code class="descclassname">turtle.</code><code class="descname">setworldcoordinates</code><span class="sig-paren">(</span><em>llx</em>, <em>lly</em>, <em>urx</em>, <em>ury</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-610">Parameters:</span></th><td class="field-body"><ul class="first last simple"><li><span class="yiyi-st" id="yiyi-611"><strong>llx</strong> – a number, x-coordinate of lower left corner of canvas</span></li><li><span class="yiyi-st" id="yiyi-612"><strong>lly</strong> – a number, y-coordinate of lower left corner of canvas</span></li><li><span class="yiyi-st" id="yiyi-613"><strong>urx</strong> – a number, x-coordinate of upper right corner of canvas</span></li><li><span class="yiyi-st" id="yiyi-614"><strong>ury</strong> – a number, y-coordinate of upper right corner of canvas</span></li></ul></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-615">Set up user-defined coordinate system and switch to mode “world” if necessary. </span><span class="yiyi-st" id="yiyi-616">This performs a <code class="docutils literal"><span class="pre">screen.reset()</span></code>. </span><span class="yiyi-st" id="yiyi-617">If mode “world” is already active, all drawings are redrawn according to the new coordinates.</span></p><p><span class="yiyi-st" id="yiyi-618"><strong>ATTENTION</strong>: in user-defined coordinate systems angles may appear distorted.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">screen</span><span class="o">.</span><span class="n">reset</span><span class="p">()</span>
|
||
<span class="gp">>>> </span><span class="n">screen</span><span class="o">.</span><span class="n">setworldcoordinates</span><span class="p">(</span><span class="o">-</span><span class="mi">50</span><span class="p">,</span><span class="o">-</span><span class="mf">7.5</span><span class="p">,</span><span class="mi">50</span><span class="p">,</span><span class="mf">7.5</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">72</span><span class="p">):</span>
|
||
<span class="gp">... </span> <span class="n">left</span><span class="p">(</span><span class="mi">10</span><span class="p">)</span>
|
||
<span class="gp">...</span>
|
||
<span class="gp">>>> </span><span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">8</span><span class="p">):</span>
|
||
<span class="gp">... </span> <span class="n">left</span><span class="p">(</span><span class="mi">45</span><span class="p">);</span> <span class="n">fd</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span> <span class="c1"># a regular octagon</span>
|
||
</code></pre></dd></dl></div><div class="section" id="animation-control"><h3><span class="yiyi-st" id="yiyi-619">24.1.4.2. </span><span class="yiyi-st" id="yiyi-620">Animation control</span></h3><dl class="function"><dt id="turtle.delay"><span class="yiyi-st" id="yiyi-621"> <code class="descclassname">turtle.</code><code class="descname">delay</code><span class="sig-paren">(</span><em>delay=None</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-622">Parameters:</span></th><td class="field-body"><span class="yiyi-st" id="yiyi-623"><strong>delay</strong> – positive integer</span></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-624">Set or return the drawing <em>delay</em> in milliseconds. </span><span class="yiyi-st" id="yiyi-625">(This is approximately the time interval between two consecutive canvas updates.) </span><span class="yiyi-st" id="yiyi-626">The longer the drawing delay, the slower the animation.</span></p><p><span class="yiyi-st" id="yiyi-627">Optional argument:</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">screen</span><span class="o">.</span><span class="n">delay</span><span class="p">()</span>
|
||
<span class="go">10</span>
|
||
<span class="gp">>>> </span><span class="n">screen</span><span class="o">.</span><span class="n">delay</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">screen</span><span class="o">.</span><span class="n">delay</span><span class="p">()</span>
|
||
<span class="go">5</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.tracer"><span class="yiyi-st" id="yiyi-628"> <code class="descclassname">turtle.</code><code class="descname">tracer</code><span class="sig-paren">(</span><em>n=None</em>, <em>delay=None</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-629">Parameters:</span></th><td class="field-body"><ul class="first last simple"><li><span class="yiyi-st" id="yiyi-630"><strong>n</strong> – nonnegative integer</span></li><li><span class="yiyi-st" id="yiyi-631"><strong>delay</strong> – nonnegative integer</span></li></ul></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-632">打开/关闭乌龟动画并为更新图纸设置延迟。</span><span class="yiyi-st" id="yiyi-633">If <em>n</em> is given, only each n-th regular screen update is really performed. </span><span class="yiyi-st" id="yiyi-634">(可用于加速复杂图形的绘制。)</span><span class="yiyi-st" id="yiyi-635">When called without arguments, returns the currently stored value of n. Second argument sets delay value (see <a class="reference internal" href="#turtle.delay" title="turtle.delay"><code class="xref py py-func docutils literal"><span class="pre">delay()</span></code></a>).</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">screen</span><span class="o">.</span><span class="n">tracer</span><span class="p">(</span><span class="mi">8</span><span class="p">,</span> <span class="mi">25</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">dist</span> <span class="o">=</span> <span class="mi">2</span>
|
||
<span class="gp">>>> </span><span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">200</span><span class="p">):</span>
|
||
<span class="gp">... </span> <span class="n">fd</span><span class="p">(</span><span class="n">dist</span><span class="p">)</span>
|
||
<span class="gp">... </span> <span class="n">rt</span><span class="p">(</span><span class="mi">90</span><span class="p">)</span>
|
||
<span class="gp">... </span> <span class="n">dist</span> <span class="o">+=</span> <span class="mi">2</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.update"><span class="yiyi-st" id="yiyi-636"> <code class="descclassname">turtle.</code><code class="descname">update</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-637">Perform a TurtleScreen update. </span><span class="yiyi-st" id="yiyi-638">To be used when tracer is turned off.</span></p></dd></dl><p><span class="yiyi-st" id="yiyi-639">See also the RawTurtle/Turtle method <a class="reference internal" href="#turtle.speed" title="turtle.speed"><code class="xref py py-func docutils literal"><span class="pre">speed()</span></code></a>.</span></p></div><div class="section" id="using-screen-events"><h3><span class="yiyi-st" id="yiyi-640">24.1.4.3. </span><span class="yiyi-st" id="yiyi-641">Using screen events</span></h3><dl class="function"><dt id="turtle.listen"><span class="yiyi-st" id="yiyi-642"> <code class="descclassname">turtle.</code><code class="descname">listen</code><span class="sig-paren">(</span><em>xdummy=None</em>, <em>ydummy=None</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-643">Set focus on TurtleScreen (in order to collect key-events). </span><span class="yiyi-st" id="yiyi-644">Dummy arguments are provided in order to be able to pass <a class="reference internal" href="#turtle.listen" title="turtle.listen"><code class="xref py py-func docutils literal"><span class="pre">listen()</span></code></a> to the onclick method.</span></p></dd></dl><dl class="function"><dt id="turtle.onkey"><span class="yiyi-st" id="yiyi-645"> <code class="descclassname">turtle.</code><code class="descname">onkey</code><span class="sig-paren">(</span><em>fun</em>, <em>key</em><span class="sig-paren">)</span></span></dt><dt id="turtle.onkeyrelease"><span class="yiyi-st" id="yiyi-646"> <code class="descclassname">turtle.</code><code class="descname">onkeyrelease</code><span class="sig-paren">(</span><em>fun</em>, <em>key</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-647">Parameters:</span></th><td class="field-body"><ul class="first last simple"><li><span class="yiyi-st" id="yiyi-648"><strong>fun</strong> – a function with no arguments or <code class="docutils literal"><span class="pre">None</span></code></span></li><li><span class="yiyi-st" id="yiyi-649"><strong>key</strong> – a string: key (e.g. </span><span class="yiyi-st" id="yiyi-650">“a”) or key-symbol (e.g. </span><span class="yiyi-st" id="yiyi-651">“space”)</span></li></ul></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-652">Bind <em>fun</em> to key-release event of key. </span><span class="yiyi-st" id="yiyi-653">If <em>fun</em> is <code class="docutils literal"><span class="pre">None</span></code>, event bindings are removed. </span><span class="yiyi-st" id="yiyi-654">Remark: in order to be able to register key-events, TurtleScreen must have the focus. </span><span class="yiyi-st" id="yiyi-655">(See method <a class="reference internal" href="#turtle.listen" title="turtle.listen"><code class="xref py py-func docutils literal"><span class="pre">listen()</span></code></a>.)</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="k">def</span> <span class="nf">f</span><span class="p">():</span>
|
||
<span class="gp">... </span> <span class="n">fd</span><span class="p">(</span><span class="mi">50</span><span class="p">)</span>
|
||
<span class="gp">... </span> <span class="n">lt</span><span class="p">(</span><span class="mi">60</span><span class="p">)</span>
|
||
<span class="gp">...</span>
|
||
<span class="gp">>>> </span><span class="n">screen</span><span class="o">.</span><span class="n">onkey</span><span class="p">(</span><span class="n">f</span><span class="p">,</span> <span class="s2">"Up"</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">screen</span><span class="o">.</span><span class="n">listen</span><span class="p">()</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.onkeypress"><span class="yiyi-st" id="yiyi-656"> <code class="descclassname">turtle.</code><code class="descname">onkeypress</code><span class="sig-paren">(</span><em>fun</em>, <em>key=None</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-657">Parameters:</span></th><td class="field-body"><ul class="first last simple"><li><span class="yiyi-st" id="yiyi-658"><strong>fun</strong> – a function with no arguments or <code class="docutils literal"><span class="pre">None</span></code></span></li><li><span class="yiyi-st" id="yiyi-659"><strong>key</strong> – a string: key (e.g. </span><span class="yiyi-st" id="yiyi-660">“a”) or key-symbol (e.g. </span><span class="yiyi-st" id="yiyi-661">“space”)</span></li></ul></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-662">Bind <em>fun</em> to key-press event of key if key is given, or to any key-press-event if no key is given. </span><span class="yiyi-st" id="yiyi-663">Remark: in order to be able to register key-events, TurtleScreen must have focus. </span><span class="yiyi-st" id="yiyi-664">(See method <a class="reference internal" href="#turtle.listen" title="turtle.listen"><code class="xref py py-func docutils literal"><span class="pre">listen()</span></code></a>.)</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="k">def</span> <span class="nf">f</span><span class="p">():</span>
|
||
<span class="gp">... </span> <span class="n">fd</span><span class="p">(</span><span class="mi">50</span><span class="p">)</span>
|
||
<span class="gp">...</span>
|
||
<span class="gp">>>> </span><span class="n">screen</span><span class="o">.</span><span class="n">onkey</span><span class="p">(</span><span class="n">f</span><span class="p">,</span> <span class="s2">"Up"</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">screen</span><span class="o">.</span><span class="n">listen</span><span class="p">()</span>
|
||
</code></pre></dd></dl><dl class="function"><dt><span class="yiyi-st" id="yiyi-665"> <code class="descclassname">turtle.</code><code class="descname">onclick</code><span class="sig-paren">(</span><em>fun</em>, <em>btn=1</em>, <em>add=None</em><span class="sig-paren">)</span></span></dt><dt id="turtle.onscreenclick"><span class="yiyi-st" id="yiyi-666"> <code class="descclassname">turtle.</code><code class="descname">onscreenclick</code><span class="sig-paren">(</span><em>fun</em>, <em>btn=1</em>, <em>add=None</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-667">Parameters:</span></th><td class="field-body"><ul class="first last simple"><li><span class="yiyi-st" id="yiyi-668"><strong>fun</strong> – a function with two arguments which will be called with the coordinates of the clicked point on the canvas</span></li><li><span class="yiyi-st" id="yiyi-669"><strong>num</strong> – number of the mouse-button, defaults to 1 (left mouse button)</span></li><li><span class="yiyi-st" id="yiyi-670"><strong>add</strong> – <code class="docutils literal"><span class="pre">True</span></code> or <code class="docutils literal"><span class="pre">False</span></code> – if <code class="docutils literal"><span class="pre">True</span></code>, a new binding will be added, otherwise it will replace a former binding</span></li></ul></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-671">Bind <em>fun</em> to mouse-click events on this screen. </span><span class="yiyi-st" id="yiyi-672">If <em>fun</em> is <code class="docutils literal"><span class="pre">None</span></code>, existing bindings are removed.</span></p><p><span class="yiyi-st" id="yiyi-673">Example for a TurtleScreen instance named <code class="docutils literal"><span class="pre">screen</span></code> and a Turtle instance named turtle:</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">screen</span><span class="o">.</span><span class="n">onclick</span><span class="p">(</span><span class="n">turtle</span><span class="o">.</span><span class="n">goto</span><span class="p">)</span> <span class="c1"># Subsequently clicking into the TurtleScreen will</span>
|
||
<span class="gp">>>> </span> <span class="c1"># make the turtle move to the clicked point.</span>
|
||
<span class="gp">>>> </span><span class="n">screen</span><span class="o">.</span><span class="n">onclick</span><span class="p">(</span><span class="kc">None</span><span class="p">)</span> <span class="c1"># remove event binding again</span>
|
||
</code></pre><div class="admonition note"><p class="first admonition-title"><span class="yiyi-st" id="yiyi-674">Note</span></p><p class="last"><span class="yiyi-st" id="yiyi-675">This TurtleScreen method is available as a global function only under the name <code class="docutils literal"><span class="pre">onscreenclick</span></code>. </span><span class="yiyi-st" id="yiyi-676">The global function <code class="docutils literal"><span class="pre">onclick</span></code> is another one derived from the Turtle method <code class="docutils literal"><span class="pre">onclick</span></code>.</span></p></div></dd></dl><dl class="function"><dt id="turtle.ontimer"><span class="yiyi-st" id="yiyi-677"> <code class="descclassname">turtle.</code><code class="descname">ontimer</code><span class="sig-paren">(</span><em>fun</em>, <em>t=0</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-678">Parameters:</span></th><td class="field-body"><ul class="first last simple"><li><span class="yiyi-st" id="yiyi-679"><strong>fun</strong> – a function with no arguments</span></li><li><span class="yiyi-st" id="yiyi-680"><strong>t</strong> – a number >= 0</span></li></ul></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-681">Install a timer that calls <em>fun</em> after <em>t</em> milliseconds.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">running</span> <span class="o">=</span> <span class="kc">True</span>
|
||
<span class="gp">>>> </span><span class="k">def</span> <span class="nf">f</span><span class="p">():</span>
|
||
<span class="gp">... </span> <span class="k">if</span> <span class="n">running</span><span class="p">:</span>
|
||
<span class="gp">... </span> <span class="n">fd</span><span class="p">(</span><span class="mi">50</span><span class="p">)</span>
|
||
<span class="gp">... </span> <span class="n">lt</span><span class="p">(</span><span class="mi">60</span><span class="p">)</span>
|
||
<span class="gp">... </span> <span class="n">screen</span><span class="o">.</span><span class="n">ontimer</span><span class="p">(</span><span class="n">f</span><span class="p">,</span> <span class="mi">250</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">f</span><span class="p">()</span> <span class="c1">### makes the turtle march around</span>
|
||
<span class="gp">>>> </span><span class="n">running</span> <span class="o">=</span> <span class="kc">False</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.mainloop"><span class="yiyi-st" id="yiyi-682"> <code class="descclassname">turtle.</code><code class="descname">mainloop</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dt id="turtle.done"><span class="yiyi-st" id="yiyi-683"> <code class="descclassname">turtle.</code><code class="descname">done</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-684">开始事件循环 - 调用Tkinter的mainloop函数。</span><span class="yiyi-st" id="yiyi-685">必须是乌龟图形程序中的最后一个语句。</span><span class="yiyi-st" id="yiyi-686">Must <em>not</em> be used if a script is run from within IDLE in -n mode (No subprocess) - for interactive use of turtle graphics.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">screen</span><span class="o">.</span><span class="n">mainloop</span><span class="p">()</span>
|
||
</code></pre></dd></dl></div><div class="section" id="input-methods"><h3><span class="yiyi-st" id="yiyi-687">24.1.4.4. </span><span class="yiyi-st" id="yiyi-688">Input methods</span></h3><dl class="function"><dt id="turtle.textinput"><span class="yiyi-st" id="yiyi-689"> <code class="descclassname">turtle.</code><code class="descname">textinput</code><span class="sig-paren">(</span><em>title</em>, <em>prompt</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-690">Parameters:</span></th><td class="field-body"><ul class="first last simple"><li><span class="yiyi-st" id="yiyi-691"><strong>title</strong> – string</span></li><li><span class="yiyi-st" id="yiyi-692"><strong>prompt</strong> – string</span></li></ul></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-693">Pop up a dialog window for input of a string. </span><span class="yiyi-st" id="yiyi-694">Parameter title is the title of the dialog window, propmt is a text mostly describing what information to input. </span><span class="yiyi-st" id="yiyi-695">Return the string input. </span><span class="yiyi-st" id="yiyi-696">If the dialog is canceled, return None.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">screen</span><span class="o">.</span><span class="n">textinput</span><span class="p">(</span><span class="s2">"NIM"</span><span class="p">,</span> <span class="s2">"Name of first player:"</span><span class="p">)</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.numinput"><span class="yiyi-st" id="yiyi-697"> <code class="descclassname">turtle.</code><code class="descname">numinput</code><span class="sig-paren">(</span><em>title</em>, <em>prompt</em>, <em>default=None</em>, <em>minval=None</em>, <em>maxval=None</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-698">Parameters:</span></th><td class="field-body"><ul class="first last simple"><li><span class="yiyi-st" id="yiyi-699"><strong>title</strong> – string</span></li><li><span class="yiyi-st" id="yiyi-700"><strong>prompt</strong> – string</span></li><li><span class="yiyi-st" id="yiyi-701"><strong>default</strong> – number (optional)</span></li><li><span class="yiyi-st" id="yiyi-702"><strong>minval</strong> – number (optional)</span></li><li><span class="yiyi-st" id="yiyi-703"><strong>maxval</strong> – number (optional)</span></li></ul></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-704">Pop up a dialog window for input of a number. </span><span class="yiyi-st" id="yiyi-705">title is the title of the dialog window, prompt is a text mostly describing what numerical information to input. </span><span class="yiyi-st" id="yiyi-706">default: default value, minval: minimum value for input, maxval: maximum value for input The number input must be in the range minval .. maxval if these are given. </span><span class="yiyi-st" id="yiyi-707">If not, a hint is issued and the dialog remains open for correction. </span><span class="yiyi-st" id="yiyi-708">Return the number input. </span><span class="yiyi-st" id="yiyi-709">If the dialog is canceled, return None.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">screen</span><span class="o">.</span><span class="n">numinput</span><span class="p">(</span><span class="s2">"Poker"</span><span class="p">,</span> <span class="s2">"Your stakes:"</span><span class="p">,</span> <span class="mi">1000</span><span class="p">,</span> <span class="n">minval</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span> <span class="n">maxval</span><span class="o">=</span><span class="mi">10000</span><span class="p">)</span>
|
||
</code></pre></dd></dl></div><div class="section" id="settings-and-special-methods"><h3><span class="yiyi-st" id="yiyi-710">24.1.4.5. </span><span class="yiyi-st" id="yiyi-711">Settings and special methods</span></h3><dl class="function"><dt id="turtle.mode"><span class="yiyi-st" id="yiyi-712"> <code class="descclassname">turtle.</code><code class="descname">mode</code><span class="sig-paren">(</span><em>mode=None</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-713">Parameters:</span></th><td class="field-body"><span class="yiyi-st" id="yiyi-714"><strong>mode</strong> – one of the strings “standard”, “logo” or “world”</span></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-715">Set turtle mode (“standard”, “logo” or “world”) and perform reset. </span><span class="yiyi-st" id="yiyi-716">If mode is not given, current mode is returned.</span></p><p><span class="yiyi-st" id="yiyi-717">Mode “standard” is compatible with old <a class="reference internal" href="#module-turtle" title="turtle: An educational framework for simple graphics applications"><code class="xref py py-mod docutils literal"><span class="pre">turtle</span></code></a>. </span><span class="yiyi-st" id="yiyi-718">Mode “logo” is compatible with most Logo turtle graphics. </span><span class="yiyi-st" id="yiyi-719">Mode “world” uses user-defined “world coordinates”. </span><span class="yiyi-st" id="yiyi-720"><strong>Attention</strong>: in this mode angles appear distorted if <code class="docutils literal"><span class="pre">x/y</span></code> unit-ratio doesn’t equal 1.</span></p><table border="1" class="docutils"><thead valign="bottom"><tr class="row-odd"><th class="head"><span class="yiyi-st" id="yiyi-721">Mode</span></th><th class="head"><span class="yiyi-st" id="yiyi-722">Initial turtle heading</span></th><th class="head"><span class="yiyi-st" id="yiyi-723">positive angles</span></th></tr></thead><tbody valign="top"><tr class="row-even"><td><span class="yiyi-st" id="yiyi-724">“standard”</span></td><td><span class="yiyi-st" id="yiyi-725">to the right (east)</span></td><td><span class="yiyi-st" id="yiyi-726">counterclockwise</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-727">“logo”</span></td><td><span class="yiyi-st" id="yiyi-728">upward (north)</span></td><td><span class="yiyi-st" id="yiyi-729">clockwise</span></td></tr></tbody></table><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">mode</span><span class="p">(</span><span class="s2">"logo"</span><span class="p">)</span> <span class="c1"># resets turtle heading to north</span>
|
||
<span class="gp">>>> </span><span class="n">mode</span><span class="p">()</span>
|
||
<span class="go">'logo'</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.colormode"><span class="yiyi-st" id="yiyi-730"> <code class="descclassname">turtle.</code><code class="descname">colormode</code><span class="sig-paren">(</span><em>cmode=None</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-731">Parameters:</span></th><td class="field-body"><span class="yiyi-st" id="yiyi-732"><strong>cmode</strong> – one of the values 1.0 or 255</span></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-733">返回colormode或将其设置为1.0或255。</span><span class="yiyi-st" id="yiyi-734">随后颜色三元组的<em>r</em>,<em>g</em>,<em>b</em>值必须在0 .. <em>cmode</em>范围内。</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">screen</span><span class="o">.</span><span class="n">colormode</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">pencolor</span><span class="p">(</span><span class="mi">240</span><span class="p">,</span> <span class="mi">160</span><span class="p">,</span> <span class="mi">80</span><span class="p">)</span>
|
||
<span class="gt">Traceback (most recent call last):</span>
|
||
<span class="o">...</span>
|
||
<span class="gr">TurtleGraphicsError</span>: <span class="n">bad color sequence: (240, 160, 80)</span>
|
||
<span class="gp">>>> </span><span class="n">screen</span><span class="o">.</span><span class="n">colormode</span><span class="p">()</span>
|
||
<span class="go">1.0</span>
|
||
<span class="gp">>>> </span><span class="n">screen</span><span class="o">.</span><span class="n">colormode</span><span class="p">(</span><span class="mi">255</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">screen</span><span class="o">.</span><span class="n">colormode</span><span class="p">()</span>
|
||
<span class="go">255</span>
|
||
<span class="gp">>>> </span><span class="n">turtle</span><span class="o">.</span><span class="n">pencolor</span><span class="p">(</span><span class="mi">240</span><span class="p">,</span><span class="mi">160</span><span class="p">,</span><span class="mi">80</span><span class="p">)</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.getcanvas"><span class="yiyi-st" id="yiyi-735"> <code class="descclassname">turtle.</code><code class="descname">getcanvas</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-736">Return the Canvas of this TurtleScreen. </span><span class="yiyi-st" id="yiyi-737">Useful for insiders who know what to do with a Tkinter Canvas.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">cv</span> <span class="o">=</span> <span class="n">screen</span><span class="o">.</span><span class="n">getcanvas</span><span class="p">()</span>
|
||
<span class="gp">>>> </span><span class="n">cv</span>
|
||
<span class="go"><turtle.ScrolledCanvas object ...></span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.getshapes"><span class="yiyi-st" id="yiyi-738"> <code class="descclassname">turtle.</code><code class="descname">getshapes</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-739">Return a list of names of all currently available turtle shapes.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">screen</span><span class="o">.</span><span class="n">getshapes</span><span class="p">()</span>
|
||
<span class="go">['arrow', 'blank', 'circle', ..., 'turtle']</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.register_shape"><span class="yiyi-st" id="yiyi-740"> <code class="descclassname">turtle.</code><code class="descname">register_shape</code><span class="sig-paren">(</span><em>name</em>, <em>shape=None</em><span class="sig-paren">)</span></span></dt><dt id="turtle.addshape"><span class="yiyi-st" id="yiyi-741"> <code class="descclassname">turtle.</code><code class="descname">addshape</code><span class="sig-paren">(</span><em>name</em>, <em>shape=None</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-742">There are three different ways to call this function:</span></p><ol class="arabic"><li><p class="first"><span class="yiyi-st" id="yiyi-743"><em>name</em> is the name of a gif-file and <em>shape</em> is <code class="docutils literal"><span class="pre">None</span></code>: Install the corresponding image shape.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">screen</span><span class="o">.</span><span class="n">register_shape</span><span class="p">(</span><span class="s2">"turtle.gif"</span><span class="p">)</span>
|
||
</code></pre><div class="admonition note"><p class="first admonition-title"><span class="yiyi-st" id="yiyi-744">Note</span></p><p class="last"><span class="yiyi-st" id="yiyi-745">图像形状<em>不会</em>在转动乌龟时旋转,因此它们不显示乌龟的标题!</span></p></div></li><li><p class="first"><span class="yiyi-st" id="yiyi-746"><em>name</em> is an arbitrary string and <em>shape</em> is a tuple of pairs of coordinates: Install the corresponding polygon shape.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">screen</span><span class="o">.</span><span class="n">register_shape</span><span class="p">(</span><span class="s2">"triangle"</span><span class="p">,</span> <span class="p">((</span><span class="mi">5</span><span class="p">,</span><span class="o">-</span><span class="mi">3</span><span class="p">),</span> <span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">5</span><span class="p">),</span> <span class="p">(</span><span class="o">-</span><span class="mi">5</span><span class="p">,</span><span class="o">-</span><span class="mi">3</span><span class="p">)))</span>
|
||
</code></pre></li><li><p class="first"><span class="yiyi-st" id="yiyi-747"><em>name</em> is an arbitrary string and shape is a (compound) <a class="reference internal" href="#turtle.Shape" title="turtle.Shape"><code class="xref py py-class docutils literal"><span class="pre">Shape</span></code></a> object: Install the corresponding compound shape.</span></p></li></ol><p><span class="yiyi-st" id="yiyi-748">Add a turtle shape to TurtleScreen’s shapelist. </span><span class="yiyi-st" id="yiyi-749">Only thusly registered shapes can be used by issuing the command <code class="docutils literal"><span class="pre">shape(shapename)</span></code>.</span></p></dd></dl><dl class="function"><dt id="turtle.turtles"><span class="yiyi-st" id="yiyi-750"> <code class="descclassname">turtle.</code><code class="descname">turtles</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-751">Return the list of turtles on the screen.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="k">for</span> <span class="n">turtle</span> <span class="ow">in</span> <span class="n">screen</span><span class="o">.</span><span class="n">turtles</span><span class="p">():</span>
|
||
<span class="gp">... </span> <span class="n">turtle</span><span class="o">.</span><span class="n">color</span><span class="p">(</span><span class="s2">"red"</span><span class="p">)</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.window_height"><span class="yiyi-st" id="yiyi-752"> <code class="descclassname">turtle.</code><code class="descname">window_height</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-753">Return the height of the turtle window.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">screen</span><span class="o">.</span><span class="n">window_height</span><span class="p">()</span>
|
||
<span class="go">480</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.window_width"><span class="yiyi-st" id="yiyi-754"> <code class="descclassname">turtle.</code><code class="descname">window_width</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-755">Return the width of the turtle window.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">screen</span><span class="o">.</span><span class="n">window_width</span><span class="p">()</span>
|
||
<span class="go">640</span>
|
||
</code></pre></dd></dl></div><div class="section" id="methods-specific-to-screen-not-inherited-from-turtlescreen"><h3><span class="yiyi-st" id="yiyi-756">24.1.4.6. </span><span class="yiyi-st" id="yiyi-757">Methods specific to Screen, not inherited from TurtleScreen</span></h3><dl class="function"><dt id="turtle.bye"><span class="yiyi-st" id="yiyi-758"> <code class="descclassname">turtle.</code><code class="descname">bye</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-759">Shut the turtlegraphics window.</span></p></dd></dl><dl class="function"><dt id="turtle.exitonclick"><span class="yiyi-st" id="yiyi-760"> <code class="descclassname">turtle.</code><code class="descname">exitonclick</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-761">Bind bye() method to mouse clicks on the Screen.</span></p><p><span class="yiyi-st" id="yiyi-762">If the value “using_IDLE” in the configuration dictionary is <code class="docutils literal"><span class="pre">False</span></code> (default value), also enter mainloop. </span><span class="yiyi-st" id="yiyi-763">Remark: If IDLE with the <code class="docutils literal"><span class="pre">-n</span></code> switch (no subprocess) is used, this value should be set to <code class="docutils literal"><span class="pre">True</span></code> in <code class="file docutils literal"><span class="pre">turtle.cfg</span></code>. </span><span class="yiyi-st" id="yiyi-764">In this case IDLE’s own mainloop is active also for the client script.</span></p></dd></dl><dl class="function"><dt id="turtle.setup"><span class="yiyi-st" id="yiyi-765"> <code class="descclassname">turtle.</code><code class="descname">setup</code><span class="sig-paren">(</span><em>width=_CFG["width"], height=_CFG["height"], startx=_CFG["leftright"], starty=_CFG["topbottom"]</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-766">Set the size and position of the main window. </span><span class="yiyi-st" id="yiyi-767">Default values of arguments are stored in the configuration dictionary and can be changed via a <code class="file docutils literal"><span class="pre">turtle.cfg</span></code> file.</span></p><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-768">Parameters:</span></th><td class="field-body"><ul class="first last simple"><li><span class="yiyi-st" id="yiyi-769"><strong>width</strong> - 如果是整数,大小以像素为单位,如果是浮点数,则为屏幕的一部分;默认为屏幕的50%</span></li><li><span class="yiyi-st" id="yiyi-770"><strong>height</strong> - 如果为整数,高度以像素为单位,如果为浮点数,则为屏幕的一部分;默认为屏幕的75%</span></li><li><span class="yiyi-st" id="yiyi-771"><strong>startx</strong> - 如果为正,从屏幕左边缘开始(以像素为单位),如果为负从右边缘,如果为None,则水平居中窗口</span></li><li><span class="yiyi-st" id="yiyi-772"><strong>starty</strong> - 如果为正,从屏幕上边缘开始(以像素为单位),如果为负从下边缘,如果为None,则垂直居中窗口</span></li></ul></td></tr></tbody></table><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">screen</span><span class="o">.</span><span class="n">setup</span> <span class="p">(</span><span class="n">width</span><span class="o">=</span><span class="mi">200</span><span class="p">,</span> <span class="n">height</span><span class="o">=</span><span class="mi">200</span><span class="p">,</span> <span class="n">startx</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">starty</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
|
||
<span class="gp">>>> </span> <span class="c1"># sets window to 200x200 pixels, in upper left of screen</span>
|
||
<span class="gp">>>> </span><span class="n">screen</span><span class="o">.</span><span class="n">setup</span><span class="p">(</span><span class="n">width</span><span class="o">=.</span><span class="mi">75</span><span class="p">,</span> <span class="n">height</span><span class="o">=</span><span class="mf">0.5</span><span class="p">,</span> <span class="n">startx</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">starty</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span>
|
||
<span class="gp">>>> </span> <span class="c1"># sets window to 75% of screen by 50% of screen and centers</span>
|
||
</code></pre></dd></dl><dl class="function"><dt id="turtle.title"><span class="yiyi-st" id="yiyi-773"> <code class="descclassname">turtle.</code><code class="descname">title</code><span class="sig-paren">(</span><em>titlestring</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-774">Parameters:</span></th><td class="field-body"><span class="yiyi-st" id="yiyi-775"><strong>titlestring</strong> – a string that is shown in the titlebar of the turtle graphics window</span></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-776">Set title of turtle window to <em>titlestring</em>.</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">screen</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s2">"Welcome to the turtle zoo!"</span><span class="p">)</span>
|
||
</code></pre></dd></dl></div></div><div class="section" id="public-classes"><h2><span class="yiyi-st" id="yiyi-777">24.1.5. </span><span class="yiyi-st" id="yiyi-778">Public classes</span></h2><dl class="class"><dt id="turtle.RawTurtle"><span class="yiyi-st" id="yiyi-779"> <em class="property">class </em><code class="descclassname">turtle.</code><code class="descname">RawTurtle</code><span class="sig-paren">(</span><em>canvas</em><span class="sig-paren">)</span></span></dt><dt id="turtle.RawPen"><span class="yiyi-st" id="yiyi-780"> <em class="property">class </em><code class="descclassname">turtle.</code><code class="descname">RawPen</code><span class="sig-paren">(</span><em>canvas</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-781">Parameters:</span></th><td class="field-body"><span class="yiyi-st" id="yiyi-782"><strong>canvas</strong> – a <code class="xref py py-class docutils literal"><span class="pre">tkinter.Canvas</span></code>, a <a class="reference internal" href="#turtle.ScrolledCanvas" title="turtle.ScrolledCanvas"><code class="xref py py-class docutils literal"><span class="pre">ScrolledCanvas</span></code></a> or a <a class="reference internal" href="#turtle.TurtleScreen" title="turtle.TurtleScreen"><code class="xref py py-class docutils literal"><span class="pre">TurtleScreen</span></code></a></span></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-783">Create a turtle. </span><span class="yiyi-st" id="yiyi-784">The turtle has all methods described above as “methods of Turtle/RawTurtle”.</span></p></dd></dl><dl class="class"><dt id="turtle.Turtle"><span class="yiyi-st" id="yiyi-785"> <em class="property">class </em><code class="descclassname">turtle.</code><code class="descname">Turtle</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-786">Subclass of RawTurtle, has the same interface but draws on a default <a class="reference internal" href="#turtle.Screen" title="turtle.Screen"><code class="xref py py-class docutils literal"><span class="pre">Screen</span></code></a> object created automatically when needed for the first time.</span></p></dd></dl><dl class="class"><dt id="turtle.TurtleScreen"><span class="yiyi-st" id="yiyi-787"> <em class="property">class </em><code class="descclassname">turtle.</code><code class="descname">TurtleScreen</code><span class="sig-paren">(</span><em>cv</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-788">Parameters:</span></th><td class="field-body"><span class="yiyi-st" id="yiyi-789"><strong>cv</strong> – a <code class="xref py py-class docutils literal"><span class="pre">tkinter.Canvas</span></code></span></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-790">Provides screen oriented methods like <code class="xref py py-func docutils literal"><span class="pre">setbg()</span></code> etc. </span><span class="yiyi-st" id="yiyi-791">that are described above.</span></p></dd></dl><dl class="class"><dt id="turtle.Screen"><span class="yiyi-st" id="yiyi-792"> <em class="property">class </em><code class="descclassname">turtle.</code><code class="descname">Screen</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-793">Subclass of TurtleScreen, with <a class="reference internal" href="#screenspecific"><span>four methods added</span></a>.</span></p></dd></dl><dl class="class"><dt id="turtle.ScrolledCanvas"><span class="yiyi-st" id="yiyi-794"> <em class="property">class </em><code class="descclassname">turtle.</code><code class="descname">ScrolledCanvas</code><span class="sig-paren">(</span><em>master</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-795">Parameters:</span></th><td class="field-body"><span class="yiyi-st" id="yiyi-796"><strong>master</strong> – some Tkinter widget to contain the ScrolledCanvas, i.e. </span><span class="yiyi-st" id="yiyi-797">a Tkinter-canvas with scrollbars added</span></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-798">Used by class Screen, which thus automatically provides a ScrolledCanvas as playground for the turtles.</span></p></dd></dl><dl class="class"><dt id="turtle.Shape"><span class="yiyi-st" id="yiyi-799"> <em class="property">class </em><code class="descclassname">turtle.</code><code class="descname">Shape</code><span class="sig-paren">(</span><em>type_</em>, <em>data</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-800">Parameters:</span></th><td class="field-body"><span class="yiyi-st" id="yiyi-801"><strong>type_</strong> – one of the strings “polygon”, “image”, “compound”</span></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-802">Data structure modeling shapes. </span><span class="yiyi-st" id="yiyi-803">The pair <code class="docutils literal"><span class="pre">(type_,</span> <span class="pre">data)</span></code> must follow this specification:</span></p><table border="1" class="docutils"><thead valign="bottom"><tr class="row-odd"><th class="head"><span class="yiyi-st" id="yiyi-804"><em>type_</em></span></th><th class="head"><span class="yiyi-st" id="yiyi-805"><em>data</em></span></th></tr></thead><tbody valign="top"><tr class="row-even"><td><span class="yiyi-st" id="yiyi-806">“polygon”</span></td><td><span class="yiyi-st" id="yiyi-807">a polygon-tuple, i.e. </span><span class="yiyi-st" id="yiyi-808">a tuple of pairs of coordinates</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-809">“image”</span></td><td><span class="yiyi-st" id="yiyi-810">an image (in this form only used internally!)</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-811">“compound”</span></td><td><span class="yiyi-st" id="yiyi-812"><code class="docutils literal"><span class="pre">None</span></code> (a compound shape has to be constructed using the <a class="reference internal" href="#turtle.Shape.addcomponent" title="turtle.Shape.addcomponent"><code class="xref py py-meth docutils literal"><span class="pre">addcomponent()</span></code></a> method)</span></td></tr></tbody></table><dl class="method"><dt id="turtle.Shape.addcomponent"><span class="yiyi-st" id="yiyi-813"> <code class="descname">addcomponent</code><span class="sig-paren">(</span><em>poly</em>, <em>fill</em>, <em>outline=None</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-814">Parameters:</span></th><td class="field-body"><ul class="first last simple"><li><span class="yiyi-st" id="yiyi-815"><strong>poly</strong> – a polygon, i.e. </span><span class="yiyi-st" id="yiyi-816">a tuple of pairs of numbers</span></li><li><span class="yiyi-st" id="yiyi-817"><strong>fill</strong> – a color the <em>poly</em> will be filled with</span></li><li><span class="yiyi-st" id="yiyi-818"><strong>outline</strong> – a color for the poly’s outline (if given)</span></li></ul></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-819">Example:</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">poly</span> <span class="o">=</span> <span class="p">((</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">),(</span><span class="mi">10</span><span class="p">,</span><span class="o">-</span><span class="mi">5</span><span class="p">),(</span><span class="mi">0</span><span class="p">,</span><span class="mi">10</span><span class="p">),(</span><span class="o">-</span><span class="mi">10</span><span class="p">,</span><span class="o">-</span><span class="mi">5</span><span class="p">))</span>
|
||
<span class="gp">>>> </span><span class="n">s</span> <span class="o">=</span> <span class="n">Shape</span><span class="p">(</span><span class="s2">"compound"</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">s</span><span class="o">.</span><span class="n">addcomponent</span><span class="p">(</span><span class="n">poly</span><span class="p">,</span> <span class="s2">"red"</span><span class="p">,</span> <span class="s2">"blue"</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="c1"># ... add more components and then use register_shape()</span>
|
||
</code></pre><p><span class="yiyi-st" id="yiyi-820">See <a class="reference internal" href="#compoundshapes"><span>Compound shapes</span></a>.</span></p></dd></dl></dd></dl><dl class="class"><dt id="turtle.Vec2D"><span class="yiyi-st" id="yiyi-821"> <em class="property">class </em><code class="descclassname">turtle.</code><code class="descname">Vec2D</code><span class="sig-paren">(</span><em>x</em>, <em>y</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-822">A two-dimensional vector class, used as a helper class for implementing turtle graphics. </span><span class="yiyi-st" id="yiyi-823">May be useful for turtle graphics programs too. </span><span class="yiyi-st" id="yiyi-824">Derived from tuple, so a vector is a tuple!</span></p><p><span class="yiyi-st" id="yiyi-825">Provides (for <em>a</em>, <em>b</em> vectors, <em>k</em> number):</span></p><ul class="simple"><li><span class="yiyi-st" id="yiyi-826"><code class="docutils literal"><span class="pre">a</span> <span class="pre">+</span> <span class="pre">b</span></code> vector addition</span></li><li><span class="yiyi-st" id="yiyi-827"><code class="docutils literal"><span class="pre">a</span> <span class="pre">-</span> <span class="pre">b</span></code> vector subtraction</span></li><li><span class="yiyi-st" id="yiyi-828"><code class="docutils literal"><span class="pre">a</span> <span class="pre">*</span> <span class="pre">b</span></code> inner product</span></li><li><span class="yiyi-st" id="yiyi-829"><code class="docutils literal"><span class="pre">k</span> <span class="pre">*</span> <span class="pre">a</span></code> and <code class="docutils literal"><span class="pre">a</span> <span class="pre">*</span> <span class="pre">k</span></code> multiplication with scalar</span></li><li><span class="yiyi-st" id="yiyi-830"><code class="docutils literal"><span class="pre">abs(a)</span></code> absolute value of a</span></li><li><span class="yiyi-st" id="yiyi-831"><code class="docutils literal"><span class="pre">a.rotate(angle)</span></code> rotation</span></li></ul></dd></dl></div><div class="section" id="help-and-configuration"><h2><span class="yiyi-st" id="yiyi-832">24.1.6. </span><span class="yiyi-st" id="yiyi-833">Help and configuration</span></h2><div class="section" id="how-to-use-help"><h3><span class="yiyi-st" id="yiyi-834">24.1.6.1. </span><span class="yiyi-st" id="yiyi-835">How to use help</span></h3><p><span class="yiyi-st" id="yiyi-836">The public methods of the Screen and Turtle classes are documented extensively via docstrings. </span><span class="yiyi-st" id="yiyi-837">So these can be used as online-help via the Python help facilities:</span></p><ul><li><p class="first"><span class="yiyi-st" id="yiyi-838">When using IDLE, tooltips show the signatures and first lines of the docstrings of typed in function-/method calls.</span></p></li><li><p class="first"><span class="yiyi-st" id="yiyi-839">Calling <a class="reference internal" href="functions.html#help" title="help"><code class="xref py py-func docutils literal"><span class="pre">help()</span></code></a> on methods or functions displays the docstrings:</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">help</span><span class="p">(</span><span class="n">Screen</span><span class="o">.</span><span class="n">bgcolor</span><span class="p">)</span>
|
||
<span class="go">Help on method bgcolor in module turtle:</span>
|
||
|
||
<span class="go">bgcolor(self, *args) unbound turtle.Screen method</span>
|
||
<span class="go"> Set or return backgroundcolor of the TurtleScreen.</span>
|
||
|
||
<span class="go"> Arguments (if given): a color string or three numbers</span>
|
||
<span class="go"> in the range 0..colormode or a 3-tuple of such numbers.</span>
|
||
|
||
|
||
<span class="go"> >>> screen.bgcolor("orange")</span>
|
||
<span class="go"> >>> screen.bgcolor()</span>
|
||
<span class="go"> "orange"</span>
|
||
<span class="go"> >>> screen.bgcolor(0.5,0,0.5)</span>
|
||
<span class="go"> >>> screen.bgcolor()</span>
|
||
<span class="go"> "#800080"</span>
|
||
|
||
<span class="gp">>>> </span><span class="n">help</span><span class="p">(</span><span class="n">Turtle</span><span class="o">.</span><span class="n">penup</span><span class="p">)</span>
|
||
<span class="go">Help on method penup in module turtle:</span>
|
||
|
||
<span class="go">penup(self) unbound turtle.Turtle method</span>
|
||
<span class="go"> Pull the pen up -- no drawing when moving.</span>
|
||
|
||
<span class="go"> Aliases: penup | pu | up</span>
|
||
|
||
<span class="go"> No argument</span>
|
||
|
||
<span class="go"> >>> turtle.penup()</span>
|
||
</code></pre></li><li><p class="first"><span class="yiyi-st" id="yiyi-840">The docstrings of the functions which are derived from methods have a modified form:</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="n">help</span><span class="p">(</span><span class="n">bgcolor</span><span class="p">)</span>
|
||
<span class="go">Help on function bgcolor in module turtle:</span>
|
||
|
||
<span class="go">bgcolor(*args)</span>
|
||
<span class="go"> Set or return backgroundcolor of the TurtleScreen.</span>
|
||
|
||
<span class="go"> Arguments (if given): a color string or three numbers</span>
|
||
<span class="go"> in the range 0..colormode or a 3-tuple of such numbers.</span>
|
||
|
||
<span class="go"> Example::</span>
|
||
|
||
<span class="go"> >>> bgcolor("orange")</span>
|
||
<span class="go"> >>> bgcolor()</span>
|
||
<span class="go"> "orange"</span>
|
||
<span class="go"> >>> bgcolor(0.5,0,0.5)</span>
|
||
<span class="go"> >>> bgcolor()</span>
|
||
<span class="go"> "#800080"</span>
|
||
|
||
<span class="gp">>>> </span><span class="n">help</span><span class="p">(</span><span class="n">penup</span><span class="p">)</span>
|
||
<span class="go">Help on function penup in module turtle:</span>
|
||
|
||
<span class="go">penup()</span>
|
||
<span class="go"> Pull the pen up -- no drawing when moving.</span>
|
||
|
||
<span class="go"> Aliases: penup | pu | up</span>
|
||
|
||
<span class="go"> No argument</span>
|
||
|
||
<span class="go"> Example:</span>
|
||
<span class="go"> >>> penup()</span>
|
||
</code></pre></li></ul><p><span class="yiyi-st" id="yiyi-841">These modified docstrings are created automatically together with the function definitions that are derived from the methods at import time.</span></p></div><div class="section" id="translation-of-docstrings-into-different-languages"><h3><span class="yiyi-st" id="yiyi-842">24.1.6.2. </span><span class="yiyi-st" id="yiyi-843">Translation of docstrings into different languages</span></h3><p><span class="yiyi-st" id="yiyi-844">There is a utility to create a dictionary the keys of which are the method names and the values of which are the docstrings of the public methods of the classes Screen and Turtle.</span></p><dl class="function"><dt id="turtle.write_docstringdict"><span class="yiyi-st" id="yiyi-845"> <code class="descclassname">turtle.</code><code class="descname">write_docstringdict</code><span class="sig-paren">(</span><em>filename="turtle_docstringdict"</em><span class="sig-paren">)</span></span></dt><dd><table class="docutils field-list" frame="void" rules="none"><tbody valign="top"><tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-846">Parameters:</span></th><td class="field-body"><span class="yiyi-st" id="yiyi-847"><strong>filename</strong> – a string, used as filename</span></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-848">Create and write docstring-dictionary to a Python script with the given filename. </span><span class="yiyi-st" id="yiyi-849">This function has to be called explicitly (it is not used by the turtle graphics classes). </span><span class="yiyi-st" id="yiyi-850">The docstring dictionary will be written to the Python script <code class="file docutils literal"><em><span class="pre">filename</span></em><span class="pre">.py</span></code>. </span><span class="yiyi-st" id="yiyi-851">It is intended to serve as a template for translation of the docstrings into different languages.</span></p></dd></dl><p><span class="yiyi-st" id="yiyi-852">If you (or your students) want to use <a class="reference internal" href="#module-turtle" title="turtle: An educational framework for simple graphics applications"><code class="xref py py-mod docutils literal"><span class="pre">turtle</span></code></a> with online help in your native language, you have to translate the docstrings and save the resulting file as e.g. </span><span class="yiyi-st" id="yiyi-853"><code class="file docutils literal"><span class="pre">turtle_docstringdict_german.py</span></code>.</span></p><p><span class="yiyi-st" id="yiyi-854">If you have an appropriate entry in your <code class="file docutils literal"><span class="pre">turtle.cfg</span></code> file this dictionary will be read in at import time and will replace the original English docstrings.</span></p><p><span class="yiyi-st" id="yiyi-855">At the time of this writing there are docstring dictionaries in German and in Italian. </span><span class="yiyi-st" id="yiyi-856">(Requests please to <a class="reference external" href="mailto:glingl%40aon.at">glingl<span>@</span>aon<span>.</span>at</a>.)</span></p></div><div class="section" id="how-to-configure-screen-and-turtles"><h3><span class="yiyi-st" id="yiyi-857">24.1.6.3. </span><span class="yiyi-st" id="yiyi-858">How to configure Screen and Turtles</span></h3><p><span class="yiyi-st" id="yiyi-859">The built-in default configuration mimics the appearance and behaviour of the old turtle module in order to retain best possible compatibility with it.</span></p><p><span class="yiyi-st" id="yiyi-860">If you want to use a different configuration which better reflects the features of this module or which better fits to your needs, e.g. </span><span class="yiyi-st" id="yiyi-861">for use in a classroom, you can prepare a configuration file <code class="docutils literal"><span class="pre">turtle.cfg</span></code> which will be read at import time and modify the configuration according to its settings.</span></p><p><span class="yiyi-st" id="yiyi-862">The built in configuration would correspond to the following turtle.cfg:</span></p><pre><code class="language-python"><span></span><span class="n">width</span> <span class="o">=</span> <span class="mf">0.5</span>
|
||
<span class="n">height</span> <span class="o">=</span> <span class="mf">0.75</span>
|
||
<span class="n">leftright</span> <span class="o">=</span> <span class="kc">None</span>
|
||
<span class="n">topbottom</span> <span class="o">=</span> <span class="kc">None</span>
|
||
<span class="n">canvwidth</span> <span class="o">=</span> <span class="mi">400</span>
|
||
<span class="n">canvheight</span> <span class="o">=</span> <span class="mi">300</span>
|
||
<span class="n">mode</span> <span class="o">=</span> <span class="n">standard</span>
|
||
<span class="n">colormode</span> <span class="o">=</span> <span class="mf">1.0</span>
|
||
<span class="n">delay</span> <span class="o">=</span> <span class="mi">10</span>
|
||
<span class="n">undobuffersize</span> <span class="o">=</span> <span class="mi">1000</span>
|
||
<span class="n">shape</span> <span class="o">=</span> <span class="n">classic</span>
|
||
<span class="n">pencolor</span> <span class="o">=</span> <span class="n">black</span>
|
||
<span class="n">fillcolor</span> <span class="o">=</span> <span class="n">black</span>
|
||
<span class="n">resizemode</span> <span class="o">=</span> <span class="n">noresize</span>
|
||
<span class="n">visible</span> <span class="o">=</span> <span class="kc">True</span>
|
||
<span class="n">language</span> <span class="o">=</span> <span class="n">english</span>
|
||
<span class="n">exampleturtle</span> <span class="o">=</span> <span class="n">turtle</span>
|
||
<span class="n">examplescreen</span> <span class="o">=</span> <span class="n">screen</span>
|
||
<span class="n">title</span> <span class="o">=</span> <span class="n">Python</span> <span class="n">Turtle</span> <span class="n">Graphics</span>
|
||
<span class="n">using_IDLE</span> <span class="o">=</span> <span class="kc">False</span>
|
||
</code></pre><p><span class="yiyi-st" id="yiyi-863">Short explanation of selected entries:</span></p><ul class="simple"><li><span class="yiyi-st" id="yiyi-864">The first four lines correspond to the arguments of the <code class="xref py py-meth docutils literal"><span class="pre">Screen.setup()</span></code> method.</span></li><li><span class="yiyi-st" id="yiyi-865">Line 5 and 6 correspond to the arguments of the method <code class="xref py py-meth docutils literal"><span class="pre">Screen.screensize()</span></code>.</span></li><li><span class="yiyi-st" id="yiyi-866"><em>shape</em> can be any of the built-in shapes, e.g: arrow, turtle, etc. </span><span class="yiyi-st" id="yiyi-867">For more info try <code class="docutils literal"><span class="pre">help(shape)</span></code>.</span></li><li><span class="yiyi-st" id="yiyi-868">If you want to use no fillcolor (i.e. </span><span class="yiyi-st" id="yiyi-869">make the turtle transparent), you have to write <code class="docutils literal"><span class="pre">fillcolor</span> <span class="pre">=</span> <span class="pre">""</span></code> (but all nonempty strings must not have quotes in the cfg-file).</span></li><li><span class="yiyi-st" id="yiyi-870">If you want to reflect the turtle its state, you have to use <code class="docutils literal"><span class="pre">resizemode</span> <span class="pre">=</span> <span class="pre">auto</span></code>.</span></li><li><span class="yiyi-st" id="yiyi-871">If you set e.g. </span><span class="yiyi-st" id="yiyi-872"><code class="docutils literal"><span class="pre">language</span> <span class="pre">=</span> <span class="pre">italian</span></code> the docstringdict <code class="file docutils literal"><span class="pre">turtle_docstringdict_italian.py</span></code> will be loaded at import time (if present on the import path, e.g. </span><span class="yiyi-st" id="yiyi-873">in the same directory as <a class="reference internal" href="#module-turtle" title="turtle: An educational framework for simple graphics applications"><code class="xref py py-mod docutils literal"><span class="pre">turtle</span></code></a>.</span></li><li><span class="yiyi-st" id="yiyi-874">The entries <em>exampleturtle</em> and <em>examplescreen</em> define the names of these objects as they occur in the docstrings. </span><span class="yiyi-st" id="yiyi-875">The transformation of method-docstrings to function-docstrings will delete these names from the docstrings.</span></li><li><span class="yiyi-st" id="yiyi-876"><em>using_IDLE</em>: Set this to <code class="docutils literal"><span class="pre">True</span></code> if you regularly work with IDLE and its -n switch (“no subprocess”). </span><span class="yiyi-st" id="yiyi-877">This will prevent <a class="reference internal" href="#turtle.exitonclick" title="turtle.exitonclick"><code class="xref py py-func docutils literal"><span class="pre">exitonclick()</span></code></a> to enter the mainloop.</span></li></ul><p><span class="yiyi-st" id="yiyi-878">There can be a <code class="file docutils literal"><span class="pre">turtle.cfg</span></code> file in the directory where <a class="reference internal" href="#module-turtle" title="turtle: An educational framework for simple graphics applications"><code class="xref py py-mod docutils literal"><span class="pre">turtle</span></code></a> is stored and an additional one in the current working directory. </span><span class="yiyi-st" id="yiyi-879">The latter will override the settings of the first one.</span></p><p><span class="yiyi-st" id="yiyi-880">The <code class="file docutils literal"><span class="pre">Lib/turtledemo</span></code> directory contains a <code class="file docutils literal"><span class="pre">turtle.cfg</span></code> file. </span><span class="yiyi-st" id="yiyi-881">You can study it as an example and see its effects when running the demos (preferably not from within the demo-viewer).</span></p></div></div><div class="section" id="module-turtledemo"><h2><span class="yiyi-st" id="yiyi-882">24.1.7. <a class="reference internal" href="#module-turtledemo" title="turtledemo: A viewer for example turtle scripts"><code class="xref py py-mod docutils literal"><span class="pre">turtledemo</span></code></a> — Demo scripts</span></h2><p><span class="yiyi-st" id="yiyi-883">The <a class="reference internal" href="#module-turtledemo" title="turtledemo: A viewer for example turtle scripts"><code class="xref py py-mod docutils literal"><span class="pre">turtledemo</span></code></a> package includes a set of demo scripts. </span><span class="yiyi-st" id="yiyi-884">These scripts can be run and viewed using the supplied demo viewer as follows:</span></p><pre><code class="language-python"><span></span><span class="n">python</span> <span class="o">-</span><span class="n">m</span> <span class="n">turtledemo</span>
|
||
</code></pre><p><span class="yiyi-st" id="yiyi-885">Alternatively, you can run the demo scripts individually. </span><span class="yiyi-st" id="yiyi-886">For example,</span></p><pre><code class="language-python"><span></span><span class="n">python</span> <span class="o">-</span><span class="n">m</span> <span class="n">turtledemo</span><span class="o">.</span><span class="n">bytedesign</span>
|
||
</code></pre><p><span class="yiyi-st" id="yiyi-887">The <a class="reference internal" href="#module-turtledemo" title="turtledemo: A viewer for example turtle scripts"><code class="xref py py-mod docutils literal"><span class="pre">turtledemo</span></code></a> package directory contains:</span></p><ul class="simple"><li><span class="yiyi-st" id="yiyi-888">A demo viewer <code class="file docutils literal"><span class="pre">__main__.py</span></code> which can be used to view the sourcecode of the scripts and run them at the same time.</span></li><li><span class="yiyi-st" id="yiyi-889">Multiple scripts demonstrating different features of the <a class="reference internal" href="#module-turtle" title="turtle: An educational framework for simple graphics applications"><code class="xref py py-mod docutils literal"><span class="pre">turtle</span></code></a> module. </span><span class="yiyi-st" id="yiyi-890">Examples can be accessed via the Examples menu. </span><span class="yiyi-st" id="yiyi-891">They can also be run standalone.</span></li><li><span class="yiyi-st" id="yiyi-892">A <code class="file docutils literal"><span class="pre">turtle.cfg</span></code> file which serves as an example of how to write and use such files.</span></li></ul><p><span class="yiyi-st" id="yiyi-893">The demo scripts are:</span></p><table border="1" class="docutils"><thead valign="bottom"><tr class="row-odd"><th class="head"><span class="yiyi-st" id="yiyi-894">Name</span></th><th class="head"><span class="yiyi-st" id="yiyi-895">Description</span></th><th class="head"><span class="yiyi-st" id="yiyi-896">Features</span></th></tr></thead><tbody valign="top"><tr class="row-even"><td><span class="yiyi-st" id="yiyi-897">bytedesign</span></td><td><span class="yiyi-st" id="yiyi-898">complex classical turtle graphics pattern</span></td><td><span class="yiyi-st" id="yiyi-899"><code class="xref py py-func docutils literal"><span class="pre">tracer()</span></code>, delay, <code class="xref py py-func docutils literal"><span class="pre">update()</span></code></span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-900">chaos</span></td><td><span class="yiyi-st" id="yiyi-901">graphs Verhulst dynamics, shows that computer’s computations can generate results sometimes against the common sense expectations</span></td><td><span class="yiyi-st" id="yiyi-902">world coordinates</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-903">时钟</span></td><td><span class="yiyi-st" id="yiyi-904">显示您计算机时间的模拟时钟</span></td><td><span class="yiyi-st" id="yiyi-905">turtles as clock’s hands, ontimer</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-906">colormixer</span></td><td><span class="yiyi-st" id="yiyi-907">experiment with r, g, b</span></td><td><span class="yiyi-st" id="yiyi-908"><code class="xref py py-func docutils literal"><span class="pre">ondrag()</span></code></span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-909">forest</span></td><td><span class="yiyi-st" id="yiyi-910">3 breadth-first trees</span></td><td><span class="yiyi-st" id="yiyi-911">randomization</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-912">fractalcurves</span></td><td><span class="yiyi-st" id="yiyi-913">Hilbert & Koch curves</span></td><td><span class="yiyi-st" id="yiyi-914">recursion</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-915">lindenmayer</span></td><td><span class="yiyi-st" id="yiyi-916">ethnomathematics (indian kolams)</span></td><td><span class="yiyi-st" id="yiyi-917">L-System</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-918">minimal_hanoi</span></td><td><span class="yiyi-st" id="yiyi-919">Towers of Hanoi</span></td><td><span class="yiyi-st" id="yiyi-920">Rectangular Turtles as Hanoi discs (shape, shapesize)</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-921">nim</span></td><td><span class="yiyi-st" id="yiyi-922">play the classical nim game with three heaps of sticks against the computer.</span></td><td><span class="yiyi-st" id="yiyi-923">turtles as nimsticks, event driven (mouse, keyboard)</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-924">paint</span></td><td><span class="yiyi-st" id="yiyi-925">super minimalistic drawing program</span></td><td><span class="yiyi-st" id="yiyi-926"><code class="xref py py-func docutils literal"><span class="pre">onclick()</span></code></span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-927">peace</span></td><td><span class="yiyi-st" id="yiyi-928">elementary</span></td><td><span class="yiyi-st" id="yiyi-929">turtle: appearance and animation</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-930">penrose</span></td><td><span class="yiyi-st" id="yiyi-931">aperiodic tiling with kites and darts</span></td><td><span class="yiyi-st" id="yiyi-932"><code class="xref py py-func docutils literal"><span class="pre">stamp()</span></code></span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-933">planet_and_moon</span></td><td><span class="yiyi-st" id="yiyi-934">simulation of gravitational system</span></td><td><span class="yiyi-st" id="yiyi-935">compound shapes, <code class="xref py py-class docutils literal"><span class="pre">Vec2D</span></code></span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-936">round_dance</span></td><td><span class="yiyi-st" id="yiyi-937">dancing turtles rotating pairwise in opposite direction</span></td><td><span class="yiyi-st" id="yiyi-938">compound shapes, clone shapesize, tilt, get_shapepoly, update</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-939">排序动画</span></td><td><span class="yiyi-st" id="yiyi-940">不同排序方法的可视化演示</span></td><td><span class="yiyi-st" id="yiyi-941">simple alignment, randomization</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-942">画一棵树</span></td><td><span class="yiyi-st" id="yiyi-943">a (graphical) breadth first tree (using generators)</span></td><td><span class="yiyi-st" id="yiyi-944"><code class="xref py py-func docutils literal"><span class="pre">clone()</span></code></span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-945">two_canvases</span></td><td><span class="yiyi-st" id="yiyi-946">simple design</span></td><td><span class="yiyi-st" id="yiyi-947">turtles on two canvases</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-948">wikipedia</span></td><td><span class="yiyi-st" id="yiyi-949">a pattern from the wikipedia article on turtle graphics</span></td><td><span class="yiyi-st" id="yiyi-950"><code class="xref py py-func docutils literal"><span class="pre">clone()</span></code>, <code class="xref py py-func docutils literal"><span class="pre">undo()</span></code></span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-951">阴阳八卦鱼图</span></td><td><span class="yiyi-st" id="yiyi-952">一个副圆的基本示例</span></td><td><span class="yiyi-st" id="yiyi-953"><code class="xref py py-func docutils literal"><span class="pre">circle()</span></code></span></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-954">Have fun!</span></p></div><div class="section" id="changes-since-python-2-6"><h2><span class="yiyi-st" id="yiyi-955">24.1.8. </span><span class="yiyi-st" id="yiyi-956">Changes since Python 2.6</span></h2><ul class="simple"><li><span class="yiyi-st" id="yiyi-957">The methods <code class="xref py py-meth docutils literal"><span class="pre">Turtle.tracer()</span></code>, <code class="xref py py-meth docutils literal"><span class="pre">Turtle.window_width()</span></code> and <code class="xref py py-meth docutils literal"><span class="pre">Turtle.window_height()</span></code> have been eliminated. </span><span class="yiyi-st" id="yiyi-958">Methods with these names and functionality are now available only as methods of <code class="xref py py-class docutils literal"><span class="pre">Screen</span></code>. </span><span class="yiyi-st" id="yiyi-959">The functions derived from these remain available. </span><span class="yiyi-st" id="yiyi-960">(In fact already in Python 2.6 these methods were merely duplications of the corresponding <code class="xref py py-class docutils literal"><span class="pre">TurtleScreen</span></code>/<code class="xref py py-class docutils literal"><span class="pre">Screen</span></code>-methods.)</span></li><li><span class="yiyi-st" id="yiyi-961">The method <code class="xref py py-meth docutils literal"><span class="pre">Turtle.fill()</span></code> has been eliminated. </span><span class="yiyi-st" id="yiyi-962">The behaviour of <code class="xref py py-meth docutils literal"><span class="pre">begin_fill()</span></code> and <code class="xref py py-meth docutils literal"><span class="pre">end_fill()</span></code> have changed slightly: now every filling-process must be completed with an <code class="docutils literal"><span class="pre">end_fill()</span></code> call.</span></li><li><span class="yiyi-st" id="yiyi-963">A method <code class="xref py py-meth docutils literal"><span class="pre">Turtle.filling()</span></code> has been added. </span><span class="yiyi-st" id="yiyi-964">It returns a boolean value: <code class="docutils literal"><span class="pre">True</span></code> if a filling process is under way, <code class="docutils literal"><span class="pre">False</span></code> otherwise. </span><span class="yiyi-st" id="yiyi-965">This behaviour corresponds to a <code class="docutils literal"><span class="pre">fill()</span></code> call without arguments in Python 2.6.</span></li></ul></div><div class="section" id="changes-since-python-3-0"><h2><span class="yiyi-st" id="yiyi-966">24.1.9. </span><span class="yiyi-st" id="yiyi-967">Changes since Python 3.0</span></h2><ul class="simple"><li><span class="yiyi-st" id="yiyi-968">The methods <code class="xref py py-meth docutils literal"><span class="pre">Turtle.shearfactor()</span></code>, <code class="xref py py-meth docutils literal"><span class="pre">Turtle.shapetransform()</span></code> and <code class="xref py py-meth docutils literal"><span class="pre">Turtle.get_shapepoly()</span></code> have been added. </span><span class="yiyi-st" id="yiyi-969">Thus the full range of regular linear transforms is now available for transforming turtle shapes. </span><span class="yiyi-st" id="yiyi-970"><code class="xref py py-meth docutils literal"><span class="pre">Turtle.tiltangle()</span></code> has been enhanced in functionality: it now can be used to get or set the tiltangle. </span><span class="yiyi-st" id="yiyi-971"><code class="xref py py-meth docutils literal"><span class="pre">Turtle.settiltangle()</span></code> has been deprecated.</span></li><li><span class="yiyi-st" id="yiyi-972">The method <code class="xref py py-meth docutils literal"><span class="pre">Screen.onkeypress()</span></code> has been added as a complement to <code class="xref py py-meth docutils literal"><span class="pre">Screen.onkey()</span></code> which in fact binds actions to the keyrelease event. </span><span class="yiyi-st" id="yiyi-973">Accordingly the latter has got an alias: <code class="xref py py-meth docutils literal"><span class="pre">Screen.onkeyrelease()</span></code>.</span></li><li><span class="yiyi-st" id="yiyi-974">The method <code class="xref py py-meth docutils literal"><span class="pre">Screen.mainloop()</span></code> has been added. </span><span class="yiyi-st" id="yiyi-975">So when working only with Screen and Turtle objects one must not additionally import <code class="xref py py-func docutils literal"><span class="pre">mainloop()</span></code> anymore.</span></li><li><span class="yiyi-st" id="yiyi-976">Two input methods has been added <code class="xref py py-meth docutils literal"><span class="pre">Screen.textinput()</span></code> and <code class="xref py py-meth docutils literal"><span class="pre">Screen.numinput()</span></code>. </span><span class="yiyi-st" id="yiyi-977">These popup input dialogs and return strings and numbers respectively.</span></li><li><span class="yiyi-st" id="yiyi-978">Two example scripts <code class="file docutils literal"><span class="pre">tdemo_nim.py</span></code> and <code class="file docutils literal"><span class="pre">tdemo_round_dance.py</span></code> have been added to the <code class="file docutils literal"><span class="pre">Lib/turtledemo</span></code> directory.</span></li></ul></div></div></div> |