thinkpython 练习题4.3
来源:互联网 发布:世界杯门票 知乎 编辑:程序博客网 时间:2024/06/05 15:57
#先要导入模块swampy.TurtleWorld等等,可以参考我的另一篇文章
#题1
from swampy.TurtleWorld import*
world=TurtleWorld()
bob=Turtle()
print bob
'''fd(bob,100)
lt(bob)
fd(bob,100)
lt(bob)
fd(bob,100)
lt(bob)
fd(bob,100)'''
#替代为
for i in range(4):
fd(bob,100)
lt(bob)
wait_for_user()
#题2
from swampy.TurtleWorld import*
def square(t,length):
for i in range(4):
fd(t,length)
lt(t)
world=TurtleWorld()
bob=Turtle()
l=input("length=")
square(bob,l)
wait_for_user()
#题3、4
from swampy.TurtleWorld import*
def polygon(t,n):
for i in range(n):
fd(t,500/n) #边长500/n
lt(t,360.0/n) #360.0取float型是为了n的取值可以更多,不信可以试试,若还是360,polygon(bob,100)里的第二个参数数只能是360的整数
world=TurtleWorld()
bob=Turtle()
bob.delay=0.01 #每次行动之间的停顿0.01s
polygon(bob,100) #当 lt(t,360/n) 改变100的值可以将图形近似变为圆,该数只能是360的整数
wait_for_user()
#题5
#方案一:只适用于角度可以为360的整除的数,如1,2,3,4,6,9...................
from swampy.TurtleWorld import*
def arc(t,n,angle):
for i in range(int(n/(360.0/angle))): # 仅是改变循环的终止条件,但局限于i是整数,但误差会随着n的增大而减小
fd(t,500/n) #边长500/n
lt(t,360.0/n)
world=TurtleWorld()
bob=Turtle()
bob.delay=0.01 #每次行动之间的停顿0.01s
arc(bob,100,90)
wait_for_user()
#方案优:
小弟抛砖引玉,希望各位大侠能给个更优解,先谢过了
0 0
- thinkpython 练习题4.3
- ThinkPython总结
- thinkpython翻译总结
- ThinkPython-编程基础
- 《ThinkPython》第三章 函数
- ThinkPython摘录-Operators and operands
- 练习题
- 练习题
- 练习题
- 练习题
- 练习题
- 练习题
- 练习题
- 练习题
- 练习题
- 练习题
- 练习题
- 练习题
- 9
- $Proxy11 cannot be cast to cn.oa.service.impl.UserServiceImpl
- VNC远程登录树莓派的图形界面
- Python yield 用法
- android socket编程client
- thinkpython 练习题4.3
- hdu3642 Get The Treasury
- Oracle结构化查询语言(Structured Query Language)
- Web framework之Mybatis3
- golang udp
- 杭电 HDU ACM 1330 Deck
- 10
- Hiberate之数据对象关联关系
- ORACLE_基础九(Tables)