> 백엔드 개발 > 파이썬 튜토리얼 > 求问怎样用python/python turtle画“心”呢?

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2016-06-06 16:24:18
원래의
5080명이 탐색했습니다.

刚刚起步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()
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿