以下脚本应该计算从0到4的整数平方和.
数学上,0²+1²+2²+3²+4²= 30,但在Python 3.2上运行时脚本打印4!为什么?
total = 0
for val in range(5):
v?l = val * val
t?tal = total + val
print(t?tal)
Run Code Online (Sandbox Code Playgroud)
我不知道你做了什么,但你的total变量并不总是一样的.第一个是0x74 0x64 0x74 0x61 0x6c第二个是第二个0x74 0xd0 0xbe 0x74 0x61 0x6c.由于Python 3在所有标识符中都支持Unicode,因此两者都完全有效但不同.因此,在函数内部,您指定的变量与最后打印的变量不同.
同样的事情发生在val:0x76 0x61 0x6cvs 0x76 0xd0 0xbe 0x6c.
您应该再次删除这些名称,并从头开始重写它们.或者,如果您有多个出现,请使用搜索和替换来修复它.
出现在那里的字符是0x0430"CYRILLIC SMALL LETTER A",因此相同/相似(取决于字体)外观.