刚刚起步python,觉得python turtle真是萌神一般的存在呀~ 试着画了颗“心”,不过觉得方法实在是太笨了>
<code class="language-python"><span class="kn">from</span> <span class="nn">turtle</span> <span class="kn">import</span> <span class="o">*</span> <span class="k">def</span> <span class="nf">curvemove</span><span class="p">():</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="n">right</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span> <span class="n">forward</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span> <span class="n">color</span><span class="p">(</span><span class="s">'red'</span><span class="p">,</span><span class="s">'pink'</span><span class="p">)</span> <span class="n">begin_fill</span><span class="p">()</span> <span class="n">left</span><span class="p">(</span><span class="mi">140</span><span class="p">)</span> <span class="n">forward</span><span class="p">(</span><span class="mf">111.65</span><span class="p">)</span> <span class="n">curvemove</span><span class="p">()</span> <span class="n">left</span><span class="p">(</span><span class="mi">120</span><span class="p">)</span> <span class="n">curvemove</span><span class="p">()</span> <span class="n">forward</span><span class="p">(</span><span class="mf">111.65</span><span class="p">)</span> <span class="n">end_fill</span><span class="p">()</span> <span class="n">done</span><span class="p">()</span> </code>
<code class="language-python"><span class="kn">from</span> <span class="nn">pylab</span> <span class="kn">import</span><span class="o">*</span> <span class="n">t</span><span class="o">=</span><span class="n">linspace</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">2</span><span class="o">*</span><span class="n">pi</span><span class="p">,</span><span class="mi">100</span><span class="p">)</span> <span class="n">x</span><span class="o">=</span><span class="n">sin</span><span class="p">(</span><span class="mi">2</span><span class="o">*</span><span class="n">t</span><span class="p">)</span> <span class="o">+</span> <span class="mi">2</span><span class="o">*</span><span class="n">sin</span><span class="p">(</span><span class="n">t</span><span class="p">)</span> <span class="n">y</span><span class="o">=-</span><span class="n">cos</span><span class="p">(</span><span class="mi">2</span><span class="o">*</span><span class="n">t</span><span class="p">)</span><span class="o">-</span><span class="mi">2</span><span class="o">*</span><span class="n">cos</span><span class="p">(</span><span class="n">t</span><span class="p">)</span> <span class="n">fill</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="s">'r'</span><span class="p">)</span> <span class="n">show</span><span class="p">()</span> </code>
<code class="language-python"><span class="kn">import</span> <span class="nn">sys</span> <span class="kn">import</span> <span class="nn">math</span> <span class="k">def</span> <span class="nf">frange</span><span class="p">(</span><span class="n">start</span><span class="p">,</span> <span class="n">end</span><span class="p">,</span> <span class="n">step</span><span class="o">=</span><span class="mf">1.0</span><span class="p">):</span> <span class="k">if</span> <span class="n">step</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span> <span class="k">while</span> <span class="n">start</span> <span class="o"> <span class="n">end</span><span class="p">:</span> <span class="k">yield</span> <span class="n">start</span> <span class="n">start</span> <span class="o">+=</span> <span class="n">step</span> <span class="k">elif</span> <span class="n">step</span> <span class="o"> <span class="mi">0</span><span class="p">:</span> <span class="k">while</span> <span class="n">start</span> <span class="o">></span> <span class="n">end</span><span class="p">:</span> <span class="k">yield</span> <span class="n">start</span> <span class="n">start</span> <span class="o">+=</span> <span class="n">step</span> <span class="k">else</span><span class="p">:</span> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s">'range() step must not be zero'</span><span class="p">)</span> <span class="k">def</span> <span class="nf">f</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="n">z</span><span class="p">):</span> <span class="n">a</span> <span class="o">=</span> <span class="n">x</span><span class="o">*</span><span class="n">x</span> <span class="o">+</span> <span class="mf">9.0</span><span class="o">/</span><span class="mi">4</span><span class="o">*</span><span class="n">y</span><span class="o">*</span><span class="n">y</span> <span class="o">+</span> <span class="n">z</span><span class="o">*</span><span class="n">z</span> <span class="o">-</span> <span class="mi">1</span> <span class="k">return</span> <span class="n">a</span><span class="o">*</span><span class="n">a</span><span class="o">*</span><span class="n">a</span> <span class="o">-</span> <span class="n">x</span><span class="o">*</span><span class="n">x</span><span class="o">*</span><span class="n">z</span><span class="o">*</span><span class="n">z</span><span class="o">*</span><span class="n">z</span> <span class="o">-</span> <span class="mf">9.0</span><span class="o">/</span><span class="mi">80</span><span class="o">*</span><span class="n">y</span><span class="o">*</span><span class="n">y</span><span class="o">*</span><span class="n">z</span><span class="o">*</span><span class="n">z</span><span class="o">*</span><span class="n">z</span> <span class="k">def</span> <span class="nf">h</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">z</span><span class="p">):</span> <span class="k">for</span> <span class="n">y</span> <span class="ow">in</span> <span class="n">frange</span><span class="p">(</span><span class="mf">1.0</span><span class="p">,</span> <span class="mf">0.0</span><span class="p">,</span> <span class="o">-</span><span class="mf">0.001</span><span class="p">):</span> <span class="k">if</span> <span class="n">f</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="n">z</span><span class="p">)</span> <span class="o"> <span class="mi">0</span><span class="p">:</span> <span class="k">return</span> <span class="n">y</span> <span class="k">return</span> <span class="mf">0.0</span> <span class="k">if</span> <span class="n">__name__</span> <span class="o">==</span> <span class="s">'__main__'</span><span class="p">:</span> <span class="k">for</span> <span class="n">z</span> <span class="ow">in</span> <span class="n">frange</span><span class="p">(</span><span class="mf">1.5</span><span class="p">,</span> <span class="o">-</span><span class="mf">1.5</span><span class="p">,</span> <span class="o">-</span><span class="mf">0.1</span><span class="p">):</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">frange</span><span class="p">(</span><span class="o">-</span><span class="mf">1.5</span><span class="p">,</span> <span class="mf">1.5</span><span class="p">,</span> <span class="mf">0.05</span><span class="p">):</span> <span class="n">v</span> <span class="o">=</span> <span class="n">f</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">z</span><span class="p">)</span> <span class="k">if</span> <span class="n">v</span> <span class="o"> <span class="mi">0</span><span class="p">:</span> <span class="n">y0</span> <span class="o">=</span> <span class="n">h</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">z</span><span class="p">)</span> <span class="n">ny</span> <span class="o">=</span> <span class="mf">0.01</span> <span class="n">nx</span> <span class="o">=</span> <span class="n">h</span><span class="p">(</span><span class="n">x</span> <span class="o">+</span> <span class="n">ny</span><span class="p">,</span> <span class="n">z</span><span class="p">)</span> <span class="o">-</span> <span class="n">y0</span> <span class="n">nz</span> <span class="o">=</span> <span class="n">h</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">z</span> <span class="o">+</span> <span class="n">ny</span><span class="p">)</span> <span class="o">-</span> <span class="n">y0</span> <span class="n">nd</span> <span class="o">=</span> <span class="mf">1.0</span><span class="o">/</span><span class="n">math</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">nx</span><span class="o">*</span><span class="n">nx</span><span class="o">+</span><span class="n">ny</span><span class="o">*</span><span class="n">ny</span><span class="o">+</span><span class="n">nz</span><span class="o">*</span><span class="n">nz</span><span class="p">)</span> <span class="n">d</span> <span class="o">=</span> <span class="p">(</span><span class="n">nx</span> <span class="o">+</span> <span class="n">ny</span> <span class="o">-</span> <span class="n">nz</span><span class="p">)</span><span class="o">*</span><span class="n">nd</span><span class="o">*</span><span class="mf">0.5</span> <span class="o">+</span> <span class="mf">0.5</span> <span class="n">sys</span><span class="o">.</span><span class="n">stdout</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">'.:-=+*#%@'</span><span class="p">[</span><span class="nb">int</span><span class="p">(</span><span class="n">d</span><span class="o">*</span><span class="mi">5</span><span class="p">)])</span> <span class="k">else</span><span class="p">:</span> <span class="n">sys</span><span class="o">.</span><span class="n">stdout</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">' '</span><span class="p">)</span> <span class="n">sys</span><span class="o">.</span><span class="n">stdout</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">'</span><span class="se">\n</span><span class="s">'</span><span class="p">)</span> </span></span></span></span></code>