Sie übergeben eine Ganzzahl an Ihre Funktion als a
. Sie versuchen dann, es zuzuweisen: a[k] = ...
, aber das funktioniert nicht, da a
ein Skalar ist ...
Es ist das gleiche, als ob Sie es versucht hätten:
%Vor%Diese Aussage macht nicht viel Sinn und Python würde dich auf die gleiche Weise (vermutlich) anschreien.
Auch macht ++k
nicht das, was du denkst - es wird als (+(+(k)))
geparst - d. h. der Bytcode ist nur UNARY_POSITIVE
zweimal. Was Sie eigentlich wollen, ist etwas wie k += 1
Seien Sie schließlich vorsichtig mit Aussagen wie:
%Vor% Die Klammern, die Sie mit print verwenden, legen nahe, dass Sie dies zu einem bestimmten Zeitpunkt auf python3.x verwenden möchten. aber x/y
verhält sich auf python3.x anders als auf python2.x. Wenn ich den Algorithmus betrachte, denke ich, dass Sie Integer-Division wollen (da Sie q != 0
überprüfen, was schwer mit Floats zu erfüllen wäre). Wenn dies der Fall ist, sollten Sie Folgendes in Betracht ziehen:
, die eine ganzzahlige Division für python2.x und python3.x durchführt.