think python turtleworld练习

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">练习1 </span>

#!/usr/bin/python

from swampy.TurtleWorld import *

world = TurtleWorld()

bob = Turtle()

fd(bob,100)

lt(bob)

fd(bob,100)

print bob

wait_for_user()

#!/usr/bin/python

from swampy.TurtleWorld import *
def square(t):  #定义这个乌龟运动的函数
world = TurtleWorld()
t = Turtle()
for i in range(4):  #用for循环进行遍历
fd(t,100)  #往前都100步
lt(t)    #往左拐
print t        
square('bob')   #进行调用这个函数

wait_for_user()

#!/usr/bin/python  #通过函数可以改变乌龟的行走距离
from swampy.TurtleWorld import *
def square(t,length):
world = TurtleWorld()
t = Turtle()
for i in range(4):
fd(t,length)
lt(t)
print t
square('bob',200)
wait_for_user()

#!/usr/bin/python   #函数再添加一个形参,用来控制遍历的次数、乌龟转弯的角度。本例乌龟爬行的轨迹是正六边形
from swampy.TurtleWorld import *
def square(t,length,n):
world = TurtleWorld()
t = Turtle()
for i in range(n):
fd(t,length)
lt(t,360/n)
print t
square('bob',100,6)
wait_for_user()

乌龟画圆重构后的

from swampy.TurtleWorld import *  
from math import *  
world = TurtleWorld()
def polyline(t,n,length,angle):
	for i in range(n):
		fd(t,length)
		lt(t,angle)
def arc(t,r,angle):
	arc_length = 2 * pi * r * angle /360.0
	n = int(arc_length / 3) + 1  #每个边长近似为3,已经足够小到画出好看的圆了
	step_length = arc_length / n
	step_angle = float(angle) / n
	polyline(t,n,step_length,step_angle)

bob = Turtle()
bob.delay = 0.01
arc(bob,70,270)
wait_for_user()


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值