Heim > Backend-Entwicklung > Python-Tutorial > 求问怎样用python/python turtle画“心”呢?

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-06-06 16:24:18
Original
5081 Leute haben es durchsucht

刚刚起步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>
Nach dem Login kopieren
求问怎样用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>
Nach dem Login kopieren
心没画,玫瑰花倒是有一个 求问怎样用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>
Nach dem Login kopieren
用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()
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage