Forum: PC-Programmierung Python Verständnisfrage


von python_newbie (Gast)


Lesenswert?

Hallo,

in einem nicht von mir stammenden Code steht folgende Zeile:

self.count = (self.count+1)%self.pulserate

self.count und self.pulsrate sind Variablen. Nur verstehe ich nicht was 
das
% bedeuten soll. Könnte mir jemand eine Erklärung dazu geben?

Gruß Newbie

von python_newbie (Gast)


Lesenswert?

python_newbie schrieb:
> Hallo,
>
> in einem nicht von mir stammenden Code steht folgende Zeile:
>
> self.count = (self.count+1)%self.pulserate
>
> self.count und self.pulsrate sind Variablen. Nur verstehe ich nicht was
> das
> % bedeuten soll. Könnte mir jemand eine Erklärung dazu geben?
>
> Gruß Newbie

Kann ja leider nicht editieren. Ist das % gleich zu setzen wie Modulo 
bei C/C++??

Gruß Newbie

von Yalu X. (yalu) (Moderator)


Lesenswert?

python_newbie schrieb:
> Ist das % gleich zu setzen wie Modulo bei C/C++??

Es ist nicht gleich, aber ähnlich. Was sagt das Python-Manual dazu?

von python_newbie (Gast)


Lesenswert?

Das weiß ich leider nicht, deswegen frage ich ja. Ich versuche einen Cod 
auf C umzusetzen.

Was ich bei http://python4kids.net/how2think/kap04.htm gefunden habe 
ist:


Modulo-Operator
Ein Operator, dargestellt durch das Prozent-Zeichen (%), der mit 
Ganzzahlen arbeitet und für die Division einer Zahl durch eine andere 
den Rest berechnet.

Gruß Newbie

von Sven B. (scummos)


Lesenswert?

Das was da steht ist leider falsch, das Modulo in Python funktioniert 
auch auf Nicht-Ganzzahlen ... aber ja, es ist ein Modulo.

von python_newbie (Gast)


Lesenswert?

Ok, Danke

Gruß Newbie

von Yalu X. (yalu) (Moderator)


Lesenswert?

python_newbie schrieb:
> Was ich bei http://python4kids.net/how2think/kap04.htm gefunden habe

Ach so, du bist noch ein Kind. Ja, in deinem konkreten Fall (self.count
ist vermutlich ganzzahlig und nichtnegativ) liefert der %-Operator in
Python und C dasselbe Ergebnis.

Wärst du erwachsen, hätte ich dir die Originalliteratur empfohlen:

  https://docs.python.org/3/reference/expressions.html#binary-arithmetic-operations

von imonbln (Gast)


Lesenswert?

Achtung das % Symbol hat in Python noch eine zweite Funktion bei 
Strings.
In dein geposten Code ist es ein Modulo aber sowas geht auch

'%(language)s has %(number)03d quote types.' % {"language": "Python", 
"number": 2}

dann wird es verwendet um die Variablen language and Number mit werten 
zu füllen. Allerdings meine ich das diese Variante als veraltet 
angesehen wird,
wie auch immer hier sind die Details

https://docs.python.org/2/library/stdtypes.html#string-formatting

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.