您正在将整数传递给函数
a。然后,您尝试将其分配为:
a[k] = ...但这不起作用,因为
a它是标量…
就像您尝试过的一样:
50[42] = 7
该语句没有多大意义,并且python会以相同的方式对您大喊大叫(大概)。
另外,
++k没有按照您认为的去做-被解析为
(+(+(k)))-即,bytpre只是
UNARY_POSITIVE两次。你真正想要的是
k +=1
最后,请注意以下语句:
q = q / b
与print一起使用的括号表示您希望在某个时候在python3.x上使用它。但是,
x/y在python3.x上的行为与在python2.x上的行为不同。看一下算法,我猜你想要
整数除法 (因为你检查了
q != 0用浮点数很难满足)。如果是这样,您应该考虑使用:
q = q // b
在python2.x和python3.x上执行整数除法。



