当从群组中删除一排精灵时,我试图将新的雨滴行添加到精灵组中。我想通过一条if语句来执行此操作,以检查是否在更新功能期间是否在删除后查看先前的len(group)是否与len(group)相匹配。但是,当我尝试在before函数中调用函数属性以在after函数中进行比较时,收到消息“ AttributeError:'NoneType'对象没有属性'raincount'”。我已经为此进行了一段时间的尝试,希望这种最新方法最终可以让我检查何时删除雨滴行。
我试图通过sprite类中删除sprites的方法传递布尔true语句。失败了,因为它只产生了一个雨滴来评估。我试图设置if语句,但不将group(降雨)作为参数传递给before函数。那没用。在通过降雨之后,我再次尝试了一下,但那也不起作用。
def dropcount(rainfall):
raincount = len(rainfall)
def dropground():
rainchange = len(rainfall)
rainamt = dropcount(rainfall).raincount
if (rainamt != rainchange):
print("This works")
else:
print("This does not work")
def update_screen(rainfall):
screen.fill((135, 206, 235))
dropcount(rainfall)
rainfall.update()
dropground()
rainfall.draw(screen)
pygame.display.flip()
我希望if语句在循环中被反复评估,并且当从组中删除一行时,该语句被评估为true,并且我可以添加另一行。相反,我得到
AttributeError:'NoneType'对象没有属性'raincount'
谢谢您的帮助。
答案 0 :(得分:1)
df1 <- fread('
ID Date
1 1999-01-01
1 2000-01-01
1 2001-01-01
2 1999-01-01
2 2000-01-01
3 1998-01-01
3 1999-01-01
4 2000-01-01
')
df1[, Date := as.Date(Date)]
df2 <- fread('
ID Date
1 1999-03-01
2 2000-01-01
3 1998-01-01
')
df2[, Date := as.Date(Date)]
需要返回结果:
dropcount()
然后您可以将其分配给变量:
def dropcount(rainfall):
return len(rainfall)
您不能使用rainamt = dropcount(rainfall)
访问函数中的局部变量,该语法用于访问对象的属性。
但是您的.raincount
语句将永远不会成功。 if
和rainamt
都是rainchange
,所以它们永远不会不同。没有循环会更改len(rainfall)
的长度。尚不清楚您真正期望rainfall
做什么。