2017-08-05 14 views
-2

私はCodeAcademyのPythonコースを終了しています。この特定のレッスンでは、別の関数を出力する必要があります。私は使用しているものではなく、それらの機能をすべて印刷するためのより効率的な/簡単な方法があるのだろうかと思います。多くの関数を印刷するより良い方法

print print_grades(grades), '\n', grades_sum(grades), '\n', grades_average(grades),'\n', grades_variance(grades), '\n', grades_std_deviation(variance) 

それは印刷されます。

100 
100 
90 
40 
80 
100 
85 
70 
90 
65 
90 
85 
50.5 
None 
1045.5 
80.4230769231 
334.071005917 
18.2776094147 
+2

コードを正しく書式設定して、どのように動作しているかを確認してください。 – csmckelvey

+0

'for function in(print_grades、...):print function(grades)'?関数はPythonのファーストクラスのオブジェクトです。 – jonrsharpe

答えて

1

あなたは、リスト内のすべての機能を入れて、それらを実行するために、リストの内包表記を使用することができます。

funcs = [func1, func2, ..] 
[f(grades) for f in funcs] 
+2

私は、すぐに捨てられるリスト内包の中で 'print'ingのような副作用を使うのは、一般的に悪いプログラミングスタイルとみなされていると考えています。あなたは、少なくともあなたのコード内のコメントのような奇妙な構造に注意する必要があります。 –

+0

これは例のためだけに使用されています。明らかにあなたはリストを使って何かをするべきです、そうでなければジェネレータを使うべきです。しかし同意して、コードから削除しました – Vinny

関連する問題