2017-10-23 5 views
1

I)はそれらのすべてがタプルを含む、さまざまな計算のための多数の機能が含まれているプログラムを書くしようとしている、と(メインによって制御されるどのように複数の関数を連結し、それぞれから複数のタプルを返すのですか?

機能は、基本的にこのです:

def open_file() 
def read_file() 
def get_data() 
def calculate_info() 
def display_info() 

def main() 
    open_file() 
    read_file() 
    get_data() 
    calculate_info() 
    display_info() 

main() 

何私を混乱させるのは、それらを連鎖させる方法です。たとえば、返されたread_file()から何が得られるかを取得するために、open_file()が返すread_file()、get_data()、read_file()を返します。私は、次の関数が前の関数が返すものを使用していることを確認しますか?これに関連して、括弧内には何が入りますか?

+1

を返すとき、これは変数逢引に関連して、物事を返すかなり広く、私はそれが重複していると確信しています。 – chasmani

+0

だから、1つの引数に1つの引数を渡してそこからビルドする方法を理解する必要があります。多分このようなものが助けになるでしょう:http://anh.cs.luc.edu/python/hands-on/3.1/handsonHtml/functions.html – acushner

+0

あなたは 'open_file()。read_file()。get_data()のような意味ですか? ..? – MotKohn

答えて

2

あなたは

def open_file(*file): 
    return ("test", "test2") 

def read_file(*file): 
    return ("test", "test2") 

def get_data(data1, data2): 
    return ("test", "test2") 

def calculate_info(*data): 
    return (8, 10, 14) 

def display_info(*data): 
    print data 

def main() 
    (k,l) = open_file() 
    (m,n) = read_file(k,l) 
    (o,p) = get_data(m,n) 
    (q,r,s) = calculate_info(o,p) 
    display_info(q,r,s) 

main() 

はあなたのpythonのパラメータとしてタプルを指定するには、*演算子を使用pythonでタプルを処理するために、このようなものを使用することができます。 )タプルを返し、いずれかのx = open_file (のような単一の変数としてそれらを保つ

または (P、Q)= open_file()

+0

これは私がやろうとしているのと似ています!私はこの方法でいくつかのもので遊びます! – Marty

1

1つのオプションは、関数の参照を保持し、ループ内で呼び出すことです。例:

def foo(x): 
    return x+1 

def bar(x): 
    return x+2 

funcs = [foo, bar] 
a = 0 

for f in funcs: 
    a = f(a) 
print(a) 

さらに制御が必要な場合は、command-patternをご覧ください。

関連する問題