Think Python 4.3练习

1.写一个函数叫做square(译者注:就是正方形的意思),有一个名叫t的参数﹐这个t是一个turtle·用这个turtle来画一个正方形。写一个函数调用﹐把bob作为参数传递给square,然后再运行这个程序。

2.给这个square函数再加一个参数,叫做lenath(译者注:长度) ·把函数体修改一下﹐让长度length赋值给各个边的长度,然后修改一下调用函数的代码﹐再提供一个这个对应长度的参数。再次运行一下,用一系列不同的长度值来测试一下你的程序。

# @Time    : 2021/8/3 17:31
# @Author  : Jerry
# @File    : test2.py
# @Software: PyCharm
import turtle
bob=turtle.Turtle()
def square(t,length):
    for i in range(4):
        t.fd(length)
        t.lt(90)

square(bob,100)
turtle.mainloop()


3.复制一下square这个函数﹐把名字改成polygon(译者注:意思为多边形)·另外添加一个参数叫做n,然后修改函数体﹐让函数实现画一个正n边的多边形·提示∶正n多边形的外角为360/n度。

# @Time    : 2021/7/26 8:56
# @Author  : Jerry
# @File    : test1.py
# @Software: PyCharm
import turtle
import math
bob=turtle.Turtle()
def polygon(t,length,n):
    for i in range(n):
        t.fd(length)
        t.lt(360/n)
polygon(bob,100,5)
#参数很多时 可以把形式参数的名字包含在一个实际参数列表中
#如polygon(bob,length=100,n=5)  这叫关键参数列表

 

4.在写一个叫做circle (译者注∶圆)的函数﹐也用一个turtle类的对象t,以及一个半径r,作为参数,画一个近似的圆,通过调用polygon函数来近似实现﹐用适当的边长和边数。用不同的半径值来测试一下你的函数。
提示∶算出圆的周长,确保边长乘以边数的值(近似)等于圆周长。

(因为是正多边形 周长=边数*边长)

# @Time    : 2021/7/26 8:56
# @Author  : Jerry
# @File    : test1.py
# @Software: PyCharm
import turtle
import math
bob=turtle.Turtle()
def polygon(t,length,n):
    for i in range(n):
        t.fd(length)
        t.lt(360/n)


def circle(t,r,n):
    c=2*math.pi*r
    length=c/n
    polygon(t,length,n)

circle(bob,100,30)
turtle.mainloop()


5.在circle基础上做一个叫做arc的函数﹐在circle的基础上添加一个angle(译者注∶角度)变量﹐用这个角度值来确定画多大的一个圆弧。用度做单位,当angle等于360度的时候﹐arc函数就应当画出一个整圆了。

# @Time    : 2021/7/26 8:56
# @Author  : Jerry
# @File    : test1.py
# @Software: PyCharm
import turtle
import math
bob=turtle.Turtle()
def polygon(t,length,n,angle):
    for i in range(int(n*angle/360)):
        t.fd(length)
        t.lt(360/n)


def arc(t,r,n,angle):
    c=2*math.pi*r
    length=c/n
    polygon(t,length,n,angle)

arc(bob,100,30,300)

turtle.mainloop()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值