这是允许的语法吗?
for bit in binary_string:
is_zero = bit == '0'
...
编辑:我的IDE 终端中的Python抛出语法错误。我在这里找到了它:https://github.com/johnmee/codility/blob/master/ex-1-1-binarygap.py#L33
编辑:
>>> N = 1004
>>> binary_string = str(bin(N))[2:]
>>> for bit in binary_string:
... is = bit == '0'
File "<stdin>", line 2
is = bit == '0'
^
SyntaxError: invalid syntax
答案 0 :(得分:2)
允许您的问题是is
是保留关键字,例如
foo is None
重命名变量;)
答案 1 :(得分:1)
是的,这是合法的,因为=
的右侧是表达式,它返回一个值。在这种情况下,值为True
或False
。评估表达式后,将名称is_zero
分配给该值。
您的SyntaxError
被提出是因为您尝试分配受保护的字is
。