使用Python的turtle画炫酷图形
最近在学习Python,觉得很有意思,本人有一些Java编程基础经验,就跳过基本的语法学习,直接做一些小程序来试试,目前学到turtle,这个乌龟画图真的很有意思了,现在分享几个炫酷的图,代码如下,原理就不解释。
例子一:
import turtle
t = turtle.Pen()
turtle.bgcolor("black")
sides=6
colors=["red","yellow","green","blue","orange","purple"]
for x in xrang(360):
t.pencolor(colors[x%sides])
t.forward(x*3/sides+x)
t.left(360/sides+1)
t.width(x*sides/200)
print("####结束####")
效果图如下:
例子二:
可以做成交互的,利用eval函数获得用户想绘制的边数
代码:
import turtle
t = turtle.Pen()
turtle.bgcolor("black")
sides=evali(input("输入要绘制的边的数目,请输入2-6的数字!"))
colors=["red","yellow","green","blue","orange","purple"]
for x in xrange(100):
t.pencolor(colors[x%sides])
t.forward(x*3/sides+x)
t.left(360/sides+1)
t.width(x*sides/200)
print("####结束####")
效果:两条边
例子三:
绘制橡皮筋球体
import turtle
t = turtle.Pen()
turtle.bgcolor("black")
#sides=evali(input("输入要绘制的边的数目,请输入2-6的数字!"))
sides=6
colors=["red","yellow","green","blue","orange","purple"]
for x in range(360):
t.pencolor(colors[x%sides])
t.forward(x*3/sides+x)
t.left(360/sides+1)
t.width(x*sides/180)
t.left(91)
print("####结束####")
效果图如下:
例子四:绘图加上文字
import turtle
t = turtle.Pen()
turtle.bgcolor("black")
my_name=turtle.textinput("输入你的姓名","你的名字?")
colors=["red","yellow","purple","blue"]
for x in xrange(100):
t.pencolor(colors[x%4])
t.penup()
t.forward(x*4)
t.pendown()
t.write(my_name,font=("Arial",int((x+4)/4),"bold"))
t.left(92)
turtle.done()
print("####结束####")
效果图如下:
奥运五环的绘制
import turtle
p = turtle
p.pensize(3)
p.color("blue")
p.circle(30, 360)
p.pu()
p.goto(60, 0)
p.pd()
p.color("black")
p.circle(30, 360)
p.pu()
p.goto(120, 0)
p.pd()
p.color("red")
p.circle(30, 360)
p.pu()
p.goto(90, -30)
p.pd()
p.color("green")
p.circle(30, 360)
p.pu()
p.goto(30, -30)
p.pd()
p.color("yellow")
p.circle(30, 360)
p.done()
效果图如下:
全部代码可从以下信息得到下载:
如果取消关注安科网公众号,即使再次关注,也将无法提供本服务!