0
「PythonでのDoing Math」という本のPythonスクリプトの例を使っていますが、私の変数が定義されていないことを教えてくれるNameErrorに対して、が定義される。私は、Python 3.4を使用していますし、コードがPythonスクリプトでのNameError
'''
Gravitational Calculations
'''
import matplotlib.pyplot as plt
#Draw the graph
def draw_graph(x,y):
plt.plot(x,y,marker='o')
plt.xlabel('Distance (m)')
plt.ylabel('Force (N)')
plt.title("Gravitational force as a function of distance")
def generate_F_r():
#Generate values for r
r=range(100,1001,50)
#Empty list to store F values
F=[]
#G Constant
G=6.674*(10**-11)
#Two masses
m1=0.5
m2=1.5
#Calculate F and append it into the F-list
for dist in r:
force=G*m1*m2/(dist**2)
F.append(force)
#Call the Draw Plot Function
draw_graph(r,F)
if __name__=='__main__':
generate_F_r()
である、それは私を与える誤りがある
: NameError名「R」
が定義されていない、それはその行で定義されていません状態r =範囲(100,1001,50)?
なぜこれを定義として使用しないのですか?
私はやっているような驚くほど単純で信じられないほど愚かなことがあると確信していますが、私はこのような単純なことがどんなに難しいかについて知っています。
ありがとうございます!
どのコードが 'def generate_F_r():'にあるべきですか?そのままでは、エラーは有効です。 'r'は' generate_F_r'メソッド内にのみ存在します。また、コードが現在どのように構造化されているのか、メソッド外でコードを使用しようとしています。 – idjaw
さらに、インデントが間違っているか、generate_F_r()が呼び出される前にrが使用されています – Natecat