Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 错误<;生成器对象获得平均额定值。<;本地人>&书信电报;genexpr>;在0x000000000156F728处>;_Python_Python 3.x - Fatal编程技术网

Python 错误<;生成器对象获得平均额定值。<;本地人>&书信电报;genexpr>;在0x000000000156F728处>;

Python 错误<;生成器对象获得平均额定值。<;本地人>&书信电报;genexpr>;在0x000000000156F728处>;,python,python-3.x,Python,Python 3.x,正在尝试打印此操作的结果 average1 = 3.82 average2 = 3.98 short_rating1 = [3.5, 4.5, 4.0, 3.5, 4.0, 4.5, 3.5, 4.0, 2.0, 4.0, 3.0, 5.0, 4.5, 4.5, 3.0, 3.5, 4.0, 4.5, 2.0, 5.0, 3.0, 4.0, 3.0, 4.0, 5.0] short_rating2 = [3.5, 4.5, 5.0, 4.5, 5.0, 3.5, 4.0, 4.5, 3.

正在尝试打印此操作的结果

average1 = 3.82 
average2 = 3.98 

short_rating1 = [3.5, 4.5, 4.0, 3.5, 4.0, 4.5, 3.5, 4.0, 2.0, 4.0, 3.0, 5.0, 4.5, 4.5, 3.0, 3.5, 4.0, 4.5, 2.0, 5.0, 3.0, 4.0, 3.0, 4.0, 5.0] 
short_rating2 = [3.5, 4.5, 5.0, 4.5, 5.0, 3.5, 4.0, 4.5, 3.5, 4.5, 3.0, 3.5, 3.0, 5.0, 4.0, 4.5, 4.0, 4.0, 3.0, 3.5, 4.0, 4.0, 4.0, 4.5, 3.0] 

denominator = (math.sqrt(sum((a - average1) ** 2)) * math.sqrt(sum(((b - average2) ** 2))) for a, b in zip(short_rating1, short_rating2))

print(denominator)
sum((a-平均值1)**2)
sum((b-平均值2)**2))
是你的问题
sum
是一个函数,它接受一个iterable并对其元素求和<代码>(a-平均值1)**2是一个浮点数,因此您会得到一个错误。删除
sum
调用

denominator = (math.sqrt((a - average1) ** 2) * math.sqrt((b - average2) ** 2) for a, b in zip(short_rating1, short_rating2))
list(denominator)
# [0.15359999999999993, 0.3536000000000001, 0.18360000000000018, 0.1663999999999999, 0.18360000000000018, 0.3264000000000001, 0.006400000000000003, 0.09360000000000009, 0.8735999999999999, 0.09360000000000009, 0.8035999999999999, 0.5664, 0.6664000000000001, 0.6936000000000002, 0.016400000000000012, 0.1663999999999999, 0.0036000000000000064, 0.013600000000000015, 1.7835999999999999, 0.5664, 0.016400000000000012, 0.0036000000000000064, 0.016400000000000012, 0.09360000000000009, 1.1564]

您将函数包装在parenths中,这将生成一个不是错误的生成器;这正是你要求的。它正在打印
分母
的值,这是一个
生成器
对象。您需要生成器生成的值列表<代码>值=列表(分母)。类型错误:“float”对象不可用iterable@sayaton您的代码至少有4个值未定义;如果没有一个完整的例子,我们不可能说出这段代码在做什么。average1=3.82 average2=3.98 short_rating1=[3.5,4.0,4.0,3.5,4.0,4.5,3.5,4.0,2.0,4.0,3.0,3.5,4.5,3.0,4.0,4.5,2.0,5.0,5.0,3.0,3.0]short_rating2=[3.5, 4.5, 5.0, 4.5, 5.0, 3.5, 4.0, 4.5, 3.5, 4.5, 3.0, 3.5, 3.0, 5.0, 4.0, 4.5, 4.0, 4.0, 3.0, 3.5, 4.0, 4.0, 4.0, 4.5, 3.0]