我想返回一个函数,它给出所有50
或更多标记的平均值。当我运行代码时,它总是返回一个空列表。
以下是我尝试过的:
def get_pass_average(marks):
average = []
for count in marks:
if count >= 50:
average = sum(count) / len(count)
return round(average,2)
def test_get_pass_average():
list1 = [50, 83, 26, 65, 92, 29, 77, 64]
print('%.2f' % (get_pass_average(list1)))
请帮我找出代码中的问题,输出应该是71.83
。
要回答以下问题:
请帮我找出代码中的问题
问题在于:
for count in marks
if count >= 50:
average = sum( count ) / len( count )
标记
是一个整数列表。因此,当您在标记中循环计数时,count
的值是一个整数。我在Python 3.6.3和2.7.10中测试了你的代码,你甚至不能对整数调用sum()
和len()
函数(如果你尝试的话,它们都会返回TypeError
)。
你初始化了average=[]
,所以你似乎希望average
包含一个列表,但即使sum(count)=count
和len(count)=1
,那么average
也包含一个整数,而不是列表。
我很想知道您使用的是哪种版本的Python,它允许代码无误地执行。
已经对这些错误进行了更正。
除了U9 Forward的答案外,还可以使用过滤器
和平均值
:
from statistics import mean
list1 = [50, 83, 26, 65, 92, 29, 77, 64]
average = mean(filter((50).__le__, list1))
print('%.2f' % average)
试试这个:
l=[i for i in list1 if i>=50]
print(sum(l)/len(l))
或:
from statistics import mean
l=[i for i in list1 if i>=50]
print(mean(l))
如果要条件为空列表:
l=[i for i in list1 if i>=50]
if l:
print(sum(l)/len(l))
或:
from statistics import mean
l=[i for i in list1 if i>=50]
if l:
print(mean(l))
对于python 2:
print(sum(l)/len(l))
应该是:
print(float(sum(l))/float(len(l)))
没有统计模块。
你的代码不起作用,因为你对迭代器(一个整数)求和,而不是对列表求和,所以它不起作用
问题内容: 我正在尝试使用下面的代码来计算用户输入的一组值的平均值,并将其显示在中,但它无法正常工作。假设用户输入7、4和5,该程序在应显示5.3时显示平均值。 代码有什么问题? 问题答案: 当您拥有增强的for循环时,为什么还要对索引使用笨拙的for循环?
我们的教授在一个文本文件中给了我们一份982个数字的列表,我们已经阅读了文件中的文本,并打印出了一些关于数字的信息。到目前为止,除了奇数的总数之外,我的一切都是正确的(她给了我们正确的答案)。我不知道如何得到奇数的平均值,即48201.56。 我一直得到的结果是97354,这很奇怪,因为我用的方法和所有数字的平均值和偶数的平均值是一样的。 我想知道为什么“总平均数”的答案不是48201.56。谢谢
我试图使用下面的代码来计算用户输入的一组值的平均值,并将其显示在中,但它不能正常工作。例如,用户输入7、4和5,程序显示1作为平均值,而它应该显示5.3
本文向大家介绍awk 根据表格数据计算列中的平均值,包括了awk 根据表格数据计算列中的平均值的使用技巧和注意事项,需要的朋友参考一下 示例 给定一个;用作列定界符的文件。我们使用以下程序在第二列中计算值的平均值,提供的输入是学生组的成绩列表: 该程序的输出为2.125。 请记住,它NR保存了要处理的行数,END因此在块中它保存了文件中的总行数。 请记住,在许多应用程序(监视,统计)中,中位数是更
我一直在尝试编写一些代码来使用MapReduce查找数字的平均值。 我尝试使用全局计数器来实现我的目标,但是我无法在映射器的< code>map方法中设置计数器值,也无法在缩减器的< code>reduce方法中检索计数器值。 我是否必须在< code>map中使用全局计数器(例如,通过使用所提供的< code>Reporter的< code>incrCounter(key,amount))?或者
问题内容: Y1961 Y1962 Y1963 Y1964 Y1965 Region 0 82.567307 83.104757 83.183700 83.030338 82.831958 US 1 2.699372 2.610110 2.587919 2.696451 2.846247 US 2 14.131355 13.690028 13.599516 13.649176 13.649046