以下脚本应该计算从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)
答案 0 :(得分:7)
我不知道你做了什么,但你的total
变量并不总是一样的。第一个总数为0x74 0x64 0x74 0x61 0x6c
,第二个为0x74 0xd0 0xbe 0x74 0x61 0x6c
。由于Python 3在所有标识符中都支持Unicode,因此两者都完全有效但不同。因此,在函数内部,您指定的变量与最后打印的变量不同。
val
:0x76 0x61 0x6c
与0x76 0xd0 0xbe 0x6c
相同。
您应该再次删除这些名称,然后从头开始重写它们。或者,如果您有多次出现,请使用搜索和替换来修复它。
出现的字符为0x0430 “CYRILLIC SMALL LETTER A”,因此外观相同/相似(取决于字体)。