2017-10-05 4 views
0

コードを書き込もうとしていますが、問題があります。 機能の結果を印刷できません。ここ は私のコードで間違っているもののミニ例です。関数によるPythonのエラー

import math 

def area(r): 
    "It will display the area of a circle with radius r" 
    A = math.pi*r**2 
    print("The answer is:", str(A)) 
    return A 

area(3) 

print(str(A)) # This line is not working 

# NameError: name 'A' is not defined 
+1

はあなたのインデントをしてください修正

最後の2行は次のようになります。 –

+0

また、 'area(3)'の戻り値をどこにも割り当てていません。 'return A'ステートメントは、関数が呼び出されたときに自動的に' A'変数を作成しません。 –

+1

[関数から値を返す方法]の複製がありますか?(https://stackoverflow.com/questions/19080943/how-to-return-a-value-from-a-function) –

答えて

1

あなたが関数内で変数を定義するとき、それは唯一のその関数内で定義され、プログラムの残りの部分に漏れません。そのため、Aarea機能の外でアクセスできません。

returnを使用すると、関数が呼び出された場所に値を返すことができます。あなたも行うことができます

total_area = area(3) 

print(str(total_area)) 
0

print "The answer is: " + str(area(3)) 
関連する問題