0
SCRIPT_BOOL("newList=[]
for x in _arg1:
newList.append(x > 0)
return newList
",SUM([Profit]))

错误处理脚本 IndentationError : 需要一个缩进块(第 4 行)

4

4 回答 4

2

我不完全确定你在问什么,但尝试编写这样的脚本:

newList=[]
for x in _arg1:
    newList.append(x > 0)
return newList

那有适当的缩进。

于 2017-05-06T02:46:29.603 回答
1

通过快速阅读TabPy GitHub 页面,以下代码应该可以工作,但未经测试,因此按原样提供:

SCRIPT_BOOL("newList=[]
for x in _arg1:
    newList.append(x > 0)
return newList",SUM([Profit]))
于 2017-05-06T12:37:51.290 回答
0

如果你想要一个多行字符串,你必须使用语法"""I am a multiline string"""而不是"I am not a multiline string".

于 2017-05-06T02:47:42.023 回答
-2

改为这样做:

SCRIPT_BOOL("return [i > 0 for i in _arg1]",SUM([Profit]))

它比 for 循环更短更容易调试。但是,如果您想要 for 循环,则需要在第四行缩进,以便将列表附加到循环中。

SCRIPT_BOOL(
"
newList=[]
for x in _arg1:
    newList.append(x > 0)
return newList
",SUM([Profit]))

BTW:Python 社区对初学者非常不友好!在您对问题投反对票之前,请认为您也从某个地方开始!;(我不是唯一这样说的人(http://pythonforengineers.com/this-is-what-python-beginners-have-to-deal-with/

于 2017-06-20T13:34:01.220 回答