2017-08-05 51 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

'(print_grades,...)中的函数':print function(grades)'?函数是Python中的第一类对象。 – jonrsharpe

回答

1

你可以把你所有的功能列表中,并使用列表理解来执行它们。

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

我相信,在列表理解中使用类似'print'的副作用会立即被抛弃,通常被认为是糟糕的编程风格。你至少应该在你的代码中注释这种奇怪的结构。 –

+0

那么这只是用于例子。显然你应该对列表做些什么,否则你应该使用生成器。但同意了,我从代码中删除了它 – Vinny