无法分配给运营商

Dob*_*obz 3 python variable-assignment python-2.7

i = 0
num = 0
while i <= 1000:
    if i % 3 and i % 5 == 0:
        num + i = num <--- Adding Up Numbers Divisable by 3 & 5...
    i += 1
print num
Run Code Online (Sandbox Code Playgroud)

错误:*无法分配给操作员(第5行)

mgi*_*son 10

你确定你不想要:

num = num + i
Run Code Online (Sandbox Code Playgroud)

或等效地:

num += i
Run Code Online (Sandbox Code Playgroud)

请注意,这是可以做到用轻松一点sum,range和发电机的表达:

sum( x for x in range(0,1000,5) if x % 3 == 0 )
                            #^only take every 5th element (0, 5, 10, 15 ...)
                                    #^ Also only take elements divisible by 3
Run Code Online (Sandbox Code Playgroud)

如果你正在运行的唯一的Python 2.x的这段代码计划,您可以更改rangexrange在上面表达.此外,在阅读其他人的代码时,您有时会看到if x % 3 == 0if not x % 3在这种类型的上下文中,但我更喜欢第一个版本(对我来说似乎更明确一些).