我假设因为“返回平均值”在循环内“用于测试范围”对吗?如果是这样,我不确定如何在该循环之外实现它(在同一方法中),我尝试了不同的方法但没有成功。
我想对这个问题有所了解。我很感激我收到的任何帮助。谢谢!
#variables for amount of scores
num_of_scores = 5
def calc_average():
total = 0.0
for test in range(num_of_scores):
print('Please enter the score of test', str(test +1), end='')
score = float(input(':'))
total += score
average = total / num_of_scores
return average
def main():
average = calc_average()
print('Average of test scores is', average)
#def determine_grade():
# if average < 60
main()
答案 0 :(得分:1)
解决方案:
问题在于你的indention,你正在循环num_of_scores
并做总和,方法的平均值计算和返回值需要是方法的一部分而不是for
的一部分{1}}循环。
#variables for amount of scores
num_of_scores = 5
def calc_average():
total = 0.0
for test in range(num_of_scores):
print('Please enter the score of test', str(test +1), end='')
score = float(input(':'))
total += score
average = total / num_of_scores
return average
def main():
average = calc_average()
print('Average of test scores is', average)
#def determine_grade():
# if average < 60
main()
<强>输出:强>
('Please enter the score of test', '1') :5
('Please enter the score of test', '2') :6
('Please enter the score of test', '3') :7
('Please enter the score of test', '4') :8
('Please enter the score of test', '5') :9
('Average of test scores is', 7.0)