Python 在函数中访问变量
对于最后一个打印部分,是否有任何方法不必在每个函数中调用函数?例如,在“打印等级标准偏差”中,我需要在其中嵌套方差和平均值函数。grades\u variance和grades\u average函数是否有办法“返回”在各自函数范围之外可访问的变量?为什么不将结果存储在这样的变量中Python 在函数中访问变量,python,Python,对于最后一个打印部分,是否有任何方法不必在每个函数中调用函数?例如,在“打印等级标准偏差”中,我需要在其中嵌套方差和平均值函数。grades\u variance和grades\u average函数是否有办法“返回”在各自函数范围之外可访问的变量?为什么不将结果存储在这样的变量中 from math import sqrt grades = [100, 100, 90, 40, 80, 100, 85, 70, 90, 65, 90, 85, 50.5] def print_grades(g
from math import sqrt
grades = [100, 100, 90, 40, 80, 100, 85, 70, 90, 65, 90, 85, 50.5]
def print_grades(grades):
for grade in grades:
print grade
def grades_sum(grades):
total = 0
for grade in grades:
total += grade
return total
def grades_average(grades):
sum_of_grades = grades_sum(grades)
average = sum_of_grades / len(grades)
return average
def grades_variance(scores, average):
variance = 0
for i in range(len(scores)):
variance += (average - scores[i])**2
return float(variance)/len(scores)
def grades_std_deviation(variance):
grades_variance(grades,grades_average(grades))
return sqrt(variance)
print grades
print grades_sum(grades)
print grades_average(grades)
print grades_variance(grades, grades_average(grades))
print grades_std_deviation(grades_variance(grades, grades_average(grades)))
函数确实返回变量,您只需要存储它们
avg = grades_average(grades)
var = grades_variance(grades, avg)
dev = grades_std_deviation(var)
print avg, var, dev
他们,嗯。。返回一个变量..为什么不存储返回的变量而不是调用两次?!
print grades
g_sum = grades_sum(grades)
g_avg = grades_average(grades)
g_var = grades_variance(grades, g_avg)
g_dev = grades_std_deviation(g_var)
print g_sum
print g_avg
print g_var
print g_dev