Home >Backend Development >Python Tutorial >求问怎样用python/python turtle画“心”呢?

求问怎样用python/python turtle画“心”呢?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-06 16:24:185093browse

刚刚起步python,觉得python turtle真是萌神一般的存在呀~ 试着画了颗“心”,不过觉得方法实在是太笨了> 求问怎样用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>
求问怎样用python/python turtle画“心”呢?from turtle import *
pensize(1)
color('black','red')
speed(2)
up()
goto(-12,100)
down()
begin_fill()
left(90)
circle(120,180)
circle(360,70.529)
left(38.942)
circle(360,70.529)
circle(120,180)
end_fill()
up()
goto(-250,-150)
down()
<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>
心没画,玫瑰花倒是有一个 求问怎样用python/python turtle画“心”呢?之前忘了帖代码,现在补上。
for i in range (1):
def paint(ang,r,ang2): #画图函数
turtle.penup()
turtle.setheading(ang)
turtle.pendown()
turtle.circle(r,ang2)


import turtle
turtle.speed(9)
turtle.color("white") #设置
turtle.pensize(7)
turtle.penup()
turtle.goto(50,-50)
turtle.pendown()
turtle.dot(200,"pink") #画背景
turtle.penup()
turtle.goto(50,86.6)
ang=-150
r=300
ang2=46
for j in range (21): #循环

paint(ang,r,ang2) #画弧
ang2-=25
paint(ang+ang2+25,r,-ang2) #回退
ang2+=25
ang+=66
r=r*0.9


思路大概就是:画圆弧,回退大约1/3,转向,减小半径,画圆弧......一直循环...

视频传送门Python玫瑰花_生活

提醒我贴代码的那个小同学,我看了你资料,看来你和我一个学校而且选的同一个选修课呢。不过我这个作业交过了,所以你参考一下,不懂的可以问我。
照抄的话老师会打你屁屁的
(╯‵□′)╯︵┻━┻。35道哪个不会可以私信我。我给你思路~不过最近考试周,我不一定都能帮得上忙。。。
--------------15.12.31----------------- 求问怎样用python/python turtle画“心”呢?
<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>
用python matplotlib画笛卡尔的心形线
求问怎样用python/python turtle画“心”呢?import numpy as np
import pylab as plt
from matplotlib import colors

a = [[] for i in range(1000)]

i = 0
while i j = 0
while j x = -1.8 + 0.003*i
y = -1.4 + 0.0028*j
z = y**2 + (-x - (y**2)**0.33333)**2
if z a[i].append(0.9)
else:
a[i].append(0.0)
j = j + 1
i = i + 1

cmap = colors.ListedColormap(['white', 'pink'])

im = plt.imshow(a, cmap = cmap, interpolation="bicubic" )
plt.show()
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn