打开并读取指定的程序。它需要返回文件中的最大值。这就是我所拥有的,我想我会得到这个错误,但我不知道如何修复它!最后一行是问题。TypeError: 'float' object is not iterable
。在
def maxValueInFile(fileName):
iterator = iter(fileName)
minim, maxim = sorted((next(iterator), next(iterator)))
for item in iterator:
if item < minim:
minim = item
elif item > maxim:
maxim = item
return (maxim)
with open('fileName.txt','r') as f:
values=(float(value_str) for line in f for value_str in line.split())
minim, maxim = maxValueInFile(values)
print (minum, maxim)
语句“return(maxim)”以float而不是tuple返回最大值。在
minim, maxim = maxValueInFile(values)
试图将返回值解压到这些变量中,这意味着右侧必须是可迭代的。在你可以改成
您可以在python tutorial中阅读有关解压缩运算符的详细信息。在
如果您不想(或可以)使用内置函数,您可以简单地遍历文件的行,如下所示:
这段代码比你的代码快,因为它不会对迭代器中的值进行排序。在
由于返回错误的数字结果,您的代码无法工作:
^{pr2}$与…相比
您只需删除大括号和
minim
变量:以及
如果您想使用python的stdlib,那么就可以了
相关问题 更多 >
编程相关推荐