Python Code Schleife

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Schmiertuch
User
Beiträge: 6
Registriert: Sonntag 16. Oktober 2022, 16:18

Guten Tag,
ich habe eine Allgemein Frage bezüglich der While-Schleife.
Wieso spuckt Python keinen Fehler wenn er so lange durch 2 teilen soll bis Bedingung = 0
also while ergebnis > 0.0:
ergebnis =/ 2

In der Theorie kann man ja unendlich lange durch 2 teilen aber wie ist es in Python ?
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Der Operator heisst /= und bei Python wird seit Version 3 (glaube ich) dabei automatisch auf eine Fliesskommazahl gewechselt, wenn das Ergebnis nicht ganzszahlich ist. Womit dann tatsaechlich deutlich mehr Divisionsvorgaenge entstehen. Aber auch nicht unendlich, sondern bis zur Praezisionsgrenze von iee754 64 Bit Zahlen - bei mir 5e-324 als kleinster Zahl vor der 0.

Code: Alles auswählen

foo = 10
while foo: print(foo) ; foo /= 2
Schmiertuch
User
Beiträge: 6
Registriert: Sonntag 16. Oktober 2022, 16:18

Alle klar, vielen dank für die schnelle Antwort !
Antworten