2017-04-06 17 views
-1

関数を定義することが別の関数に関連する可能性があることを知りたいので、チェーン反応のようなものです。次の公式では、最終値15を出力します。別の定義から以前の定義を呼び出す方法Python 3

'first_formula'の値 'c'を認識するために 'second_formula'をどのように変更する必要がありますか?私はそこには、同じファイル内で実行されている場合、私はあなたの方法で仕事ができると思います(私はあなたが持っていると思いますので、を信じ、また

def first_formula(): 
    a = 1 
    b = 2 
    c = a + b 
    second_formula(c) 

def second_formula(c): 
    d = 4 
    e = c + d 
    third_formula(e) 

def third_formula(e): 
    f = 8 
    g = e + f 
    print (g) 


first_formula() 

def first_formula(): 
    a = 1 
    b = 2 
    c = a + b 
    second_formula() 

def second_formula(): 
    d = 4 
    e = c + d 
    third_formula() 

def third_formula(): 
    f = 8 
    g = e + f 
    print (g) 


first_formula() 
+0

引数を追加する必要があります。たとえば、 'def second_formula(c):'のように、 'first_formula'で' second_formula(c) 'と呼ぶでしょう。 – zondo

答えて

0

パラメータとして渡します。

def first_formula(): 
    a = 1 
    b = 2 
    c = a + b 
    second_formula(c) 

def second_formula(c): 
    d = 4 
    e = c + d 
    third_formula(e) 

def third_formula(e): 
    f = 8 
    g = e + f 
    print (g) 

first_formula() 

しかし、これは、各関数が結果を返すようにするとさらに優れています。呼び出し側のプログラムがどこに行くべきかを決定させてください:

def first_formula(): 
    a = 1 
    b = 2 
    return a+b 

def second_formula(): 
    d = 4 
    return d + first_formula() 

def third_formula(): 
    f = 8 
    return f + second_formula() 

print(third_formula()) 

これは役に立ちますか?

+0

はい、もう1つは素晴らしいです!どうもありがとうございます! –

0

あなたは、引数を使用することができますdef以外の変数を作成する場合):

c,e = 0,0 # Their are the 'specials variables' 
first_formula() 
関連する問題