2017-06-10 4 views
-4

私はこの1つのことをする方法を見つけることができませんが、私はPythonを学ぶのを助けるために設計された小さなプロジェクトを持っています。 1つの関数の2つの異なる出力に2つの異なる変数を割り当てる必要があります。Pythonで特定の関数出力に変数を割り当てるにはどうしたらいいですか?

my_input1 = code_chooser() 
my_input2 = code_chooser() 

とcode_chooser()この行います

def code_chooser(): 
    ect. ect. 
    if foo1 == 1: 
     return my_input1 
    elif foo1 == 2: 
     return my_input2 

    if foo2 == 1: 
     return my_input1 
    elif foo2 == 2: 
     return my_input2 

をそして、これはfoo1は== 1とfoo2はの== 2

は私が入れてどのように見ることができない場合でありますmy_input1とmy_input2への同じ関数からの2つの異なる変数と私が知っているものから、私の状況とコードでは、同じ関数にする必要があります。

+0

'code_chooser'は純関数ですか?つまり、 'foo'はグローバル変数かローカル変数ですか? –

+2

私はあなたが実際に何を求めているのか分かりません。同時に2つのアイテムを関数から戻して、2つの変数を2つの変数に格納する方法を尋ねていますか? – idjaw

+2

あなたが[mcve]を投稿すると、それは何が起こっているのかを知るのに役立ちます。 ['ect'](https://en.wikipedia.org/wiki/Electroconvul​​sive_therapy)を含むコードは、私たちにはあまり教えてくれません。 –

答えて

0

foo11または2であることを起こる場合、その機能はそれは終わりだ、my_input1またはmy_input2を返します。したがって、foo11でも2でもない場合は、適切な値my_input2my_input2 = code_chooser()で決して取得できないことがあります。

私はあなたを誤解していないよ...場合は、あなたが(それはかなり低効率だけれども...しかし、理解しやすい)、これを試してください:

def code_chooser(): 
    '''ect. ect. ''' 
    returnValue = [] 
    if foo1 == 1: 
     returnValue.append(my_input1) 
    elif foo1 == 2: 
     returnValue.append(my_input2) 

    if foo2 == 1: 
     returnValue.append(my_input1) 
    elif foo2 == 2: 
     returnValue.append(my_input2) 
    return returnValue 

そして、それを使用します。

my_input2, my_input2 = code_chooser() 
+0

ありがとう、私はあなたが言っているものを参照してください。完全に滑って私を渡した、戻り値が関数を終了するという事実。今すぐ実装してテストします。 –

関連する問題