嗯……你确定homework不适用于这里吗?;)不管:
您不仅需要拆分输入行,还需要将文本值转换为数字。
因此,假设您已将输入行读入in_line,您将执行如下操作:...
row = [float(each) for each in in_line.split()]
rows.append(row) # assuming you have a list called rows
...
一旦有了行列表,就需要获取列:...
columns = zip(*rows)
然后您可以遍历调用max()的每一行和每一列:...
for each in rows:
print max(each)
for eac in columns:
print max(each)
编辑:以下是更完整的代码,说明如何打开文件、遍历文件行、关闭文件以及使用上述提示:in_file = open('thefile.txt', 'r')
rows = []
for in_line in in_file:
row = [float(each) for each in in_line.split()]
rows.append(row)
in_file.close() # this'll happen at the end of the script / function / method anyhow
columns = zip(*rows)
for index, row in enumerate(rows):
print "In row %s, Max = %s, Min = %s" % (index, max(row), min(row))
for index, column in enumerate(columns):
print "In column %s, Max = %s, Min = %s" % (index, max(column), min(column))
编辑:为了新学校的好处,不要使用我以前的危险文件处理。使用新的安全版本:rows = []
with open('thefile.txt', 'r') as in_file:
for in_line in in_file:
row = ....
现在你已经得到了很多保证,即使你在读取文件时抛出异常,你也不会意外地做一些不好的事情,比如让文件保持打开。另外,你完全可以跳过in_file.close()而不感到有点内疚。