所以当我打电话
plot_bounces( ball, numbounces, boxWH_tuple, circle=None )
其中ball是一个对象,numbounces是一个int,boxWH_tuple和circle是元组,并在此函数中放置print(type(circle))
语句,它是一个元组。但是,当我在此函数中调用update_ball(ball, boxWH_tuple, circle=None)
放置一个print(type(circle))
语句时,它是一个nonetype。我不明白为什么也不能将它变成两个函数的元组。这只是我的代码的一部分,似乎有问题。
这就是我过去所说的plot_bounces
plot_bounces(Ball(-1,0,0.1), 1, (3,2), ( (0,0) ,0.4) )
还有另一个带有Ball类的脚本,该脚本处理Ball对象。
我主要关心的是为什么print(type(circle))
给我第一张印刷品的类'tuple'和第二张印刷品的类'NoneType'。
def plot_bounces(ball, numbounces, boxWH_tuple, circle=None):
print(type (circle))
#make space to store coordinates
xcoords = []
ycoords = []
#store the starting point
xcoords.append(ball.x)
ycoords.append(ball.y)
while numbounces>0 :
#calls on update_ball and change the old values with new ones
update_ball(ball, boxWH_tuple, circle=None)
#
ball=update_ball(ball, boxWH_tuple, circle=None)
xpoint = ball.x
ypoint = ball.y
ycoords.append(ypoint)
xcoords.append(xpoint)
numbounces+= -1
def update_ball(ball, boxWH_tuple, circle=None):
print (type(circle))
这两种情况不是元组吗?
答案 0 :(得分:1)
从update_ball()
呼叫plot_bounces()
时,请在圆圈后面删除=None
,
因为当您在调用(调用,而不是函数定义)中进行circle=None
时,您会将该参数作为None传递,因此造成混淆。
呼叫应为update_ball(ball, boxWH_tuple, circle)