【发布时间】:2013-08-29 21:48:58
【问题描述】:
我正在尝试构建一些代码,并且我已经定义了一个函数来测试计数器在函数内部的工作方式:
def errorPrinting(x):
x += 1
return x
然后我在一些条件逻辑中使用该函数,如果满足条件,我希望计数器增加。
x = 1
for row in arcpy.SearchCursor(fc):
if not row.INCLUSION_TYPE or len(row.TYPE.strip()) == 0:
errorPrinting(x)
print x
elif len(row.TYPE) not in range(2,5):
errorPrinting(x)
print x
elif row.INCLUSION_TYPE.upper() not in [y.upper() for y in TableList]:
errorPrinting(x)
print x
我对使用函数还是很陌生,所以也许我不明白如何将值返回到函数之外,以便在 for 循环的下一次迭代中使用。它一直在我身上返回 1。任何人都可以告诉我如何在函数外部返回 x 增加一个 x+= 1 后的 x 吗?
谢谢, 迈克
【问题讨论】:
-
arcpy... 对不起,先生。除此之外,您到底想在
errorPrinting函数中做什么?我知道您想要一个计数器,但是除了增加x之外,您还想做什么?在这段代码中,errorPrinting可以简单地替换为x += 1,这样就可以了。那么您希望通过使用该功能获得什么?我认为,这个问题的答案可能会严重影响答案中的一些结构性建议。