Seite 1 von 1

ZeroDivisionError

Verfasst: Mittwoch 15. Oktober 2008, 17:03
von nemomuk

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...

Verfasst: Mittwoch 15. Oktober 2008, 17:15
von Lonestar
was ergibt denn im ersten durchlauf q / r^2 ?

Verfasst: Mittwoch 15. Oktober 2008, 17:25
von audax
Das erste Element von range(n) ist nicht 1 sondern 0.

Verfasst: Mittwoch 15. Oktober 2008, 17:26
von nemomuk
wie du siehst war das Problem bereits gelöst...

Danke trotzdem.

Verfasst: Mittwoch 15. Oktober 2008, 20:32
von audax
Ich brauch manchmal tatsächlich mehr als 2 Minuten bis ich antworte, da kann sowas mal passieren...

btw:
pdb hilft.

Verfasst: Mittwoch 15. Oktober 2008, 20:54
von BlackJack
@SchneiderWeisse: Stimmt eigentlich irgend etwas mit `math.pi` nicht? ;-)

Verfasst: Mittwoch 15. Oktober 2008, 21:30
von nemomuk
lol....
@BlackJack: stimmt alles...^^
Hatte hier nur als Beispiel den Code "manuell" reingeschreiben und pi eben einfach ausgeschreiben...