Kann mir jemand den folgenden Code erklären. Ich habe nicht verstanden, was% tut. Wie ich weiß, gibt es den Rest zurück, aber ich habe nicht die erwartete Ausgabe erhalten. Was ist der Rest selbst? Können Sie bitte die Ausgabe Schritt für Schritt erklären?

for num in range(20):
    if num % 4 == 0:
        print num 
    if num % 16 == 0:
        print('XYZ')
-1
Jamol 7 Okt. 2012 im 11:27

3 Antworten

Beste Antwort

Dieser Operator wird als Moduloperator bezeichnet, und im Grunde subtrahiert er weiterhin die rechte Seite von der linken Seite, bis er nicht mehr gehen kann (also würde ein erneutes Subtrahieren das Ergebnis negativ machen). Die Zahl, die an dem Punkt verbleibt, an dem sie nicht mehr subtrahieren kann, wird als Rest bezeichnet.

Es ist wie eine Teilung, aber den Quotienten wegzuwerfen.

Versuchen Sie, den Code auszuführen:

 for i in xrange(10):
      print str(i) + " : " + str((i % 2))

Sehen Sie das Muster?

6
alvonellos 7 Okt. 2012 im 07:36

% heißt Moduloperator und wird verwendet, um den Rest abzurufen.

num % 4 == 0 prüft einfach, ob num durch 4 teilbar ist

2
loxxy 7 Okt. 2012 im 07:30

Mod, modulös, Rest http://docs.python.org/library/operator.html

0
Matt 7 Okt. 2012 im 07:30