ZeroDivisionError

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
nemomuk
User
Beiträge: 862
Registriert: Dienstag 6. November 2007, 21:49

Code: Alles auswählen

dk = 8.854187817 * pow(10,-12)
pi = 3.141592653
q = 1.602176487 * pow(10,-19)
for r in range(0,100):
    E = (1 / (4 * pi * dk)) * (q / r^2)
    print E
Hiermit versuche ich die elektrische Feldstärke zu berechnen und bekomme immer einen:

Code: Alles auswählen

Traceback (most recent call last):
  File "C:\skripte\pysics\index.py", line 8, in <module>
    E = (1 / (4 * pi * dk)) * (q / r^2)
ZeroDivisionError: float division
Warum?

Danke!

EDIT: ich Trottel, sehe gerade, dass r im ersten Durchlauf ja 0 ist...
Lonestar
User
Beiträge: 147
Registriert: Samstag 9. August 2008, 08:31

was ergibt denn im ersten durchlauf q / r^2 ?
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

Das erste Element von range(n) ist nicht 1 sondern 0.
nemomuk
User
Beiträge: 862
Registriert: Dienstag 6. November 2007, 21:49

wie du siehst war das Problem bereits gelöst...

Danke trotzdem.
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

Ich brauch manchmal tatsächlich mehr als 2 Minuten bis ich antworte, da kann sowas mal passieren...

btw:
pdb hilft.
BlackJack

@SchneiderWeisse: Stimmt eigentlich irgend etwas mit `math.pi` nicht? ;-)
nemomuk
User
Beiträge: 862
Registriert: Dienstag 6. November 2007, 21:49

lol....
@BlackJack: stimmt alles...^^
Hatte hier nur als Beispiel den Code "manuell" reingeschreiben und pi eben einfach ausgeschreiben...
Antworten