我已经为codewars问题构建了一个代码。我认为这是正确的,但它显示了一个我不理解的错误
你能告诉我我做错了什么吗
import math
def waterbombs(fire, w):
s=""
countx=0
for i in fire:
if i=="x":
countx+=1
elif i=="Y":
countx=0
return sum(math.ceil(countx/w))
waterbombs("xxYxx", 3)
这就是错误:
Traceback (most recent call last):
File "D:\Curso Python Pildorasinformaticas\Ejercicios Codewars\Aerial Firefighting.py", line 16, in <module>
waterbombs("xxYxx", 3)
File "D:\Curso Python Pildorasinformaticas\Ejercicios Codewars\Aerial Firefighting.py", line 13, in waterbombs
return sum(math.ceil(countx/w))
TypeError: 'int' object is not iterable
[在0.2秒内完成]
你为什么要做
sum(math.ceil(countx/w))
? 这里sum
方法的目标是什么,因为只有math.ceil返回值如果向总和传递一个值,它将抛出该错误。您应该传递
sum
方法的值列表例如:
sum(5)
会给你上面看到的错误,但是sum([5])
会给你返回5相关问题 更多 >
编程相关推荐