這是我的代碼,語法錯誤是在第18行。我努力理解爲什麼我得到這個錯誤。語法錯誤無效,但我無法發現它? (Python)
from visual import *
def Efield(pos, charge)
"""
Calculate electric field due to point charge
Inputs
======
pos - Position where the E field is required (vector)
charge.pos - Position of the charge (vector)
charge.q - Charge (float)
Returns
=======
The electric field vector
"""
r = vector(charge.pos) - vector(pos) # Vector from pos to chargepos
E = float(q) * r/abs(r)**3 # Coulomb's law
return E
創建一些費用
charge1 = sphere(pos=(0,2,0), q=1, radius=0.2, color=color.red) # Positive charge
charge2 = sphere(pos=(0,-2,0), q=-1, radius=0.2, color=color.blue) # Negative charge
在隨機位置
random.seed(1234) # Specify a random seed
n = 500
for i in range(n):
x = random.uniform(-4 4)
y = random.uniform(-4,4)
z = random.uniform(-4,4)
pos = vector(x,y,z)
# Make sure pos is not too close to both positive and negative charge
if abs(pos - charge1.pos) > 1 and abs(pos - charge2.pos) > 1:
# Create an arrow if it's far enough from both charges
a = arrow(pos=pos, axis= Efield(pos, charge1) + Efield(pos,charge1))
解決您的壓痕 – depperm
廣告四個空格來縮進添加到您的代碼'」「 ' –