从文件和平均总数
Python 3.x 我试图读取一个名为numbers.txt的文件。它有几行数字。我需要打印总数和平均数。除此之外,我需要为IOerror和ValueError使用异常处理。从文件和平均总数
预先感谢您。我知道有这样的问题,但建议错误了。
def main():
total = 0.0
length = 0.0
average = 0.0
try:
filename = raw_input('Enter a file name: ')
infile = open(filename, 'r')
for line in infile:
print (line.rstrip("\n"))
amount = float(line.rstrip("\n"))
total += amount
length = length + 1
average = total/length
infile.close()
print ('There were', length, 'numbers in the file.')
print (format(average, ',.2f'))
except IOError:
print ('An error occurred trying to read the file.')
except ValueError:
print ('Non-numeric data found in the file')
except:
print('An error has occurred')
with open('numbers.txt', 'r') as my_file:
try:
data = [float(n) for n in my_file.read().split()]
except (IOError, ValueError):
data = []
total = sum(data)
average = total/len(data)
print('Numbers: {nums}\nTotal: {total}\nAverage: {average}'.format(nums = data, total = total, average = average))
以供将来参考,因为这是非常简单的代码,你可以谷歌的每个部分分别,你可以拼凑他们。
感谢和未来我将使用谷歌,但这令我很沮丧。你给我的代码几乎可以工作,但给出了错误:\t TypeError:不支持的操作数类型为+:'int'和'str' – user2330409 2013-04-29 01:37:20
@ user2330409检查我的编辑(我忘记了读取文件返回一个字符串)。 – 2013-04-29 02:06:41
非常感谢你!这是有道理的。 – user2330409 2013-04-29 02:09:37
到目前为止你有什么?这是功课吗? – dstromberg 2013-04-29 01:20:19
@ user2330409如果是作业,你应该在提问前尝试一些东西。 SO不是一个完成作业的网站,当你无法正确调试某些内容时,它会提供帮助。 – 2013-04-29 01:26:32
感谢您的回应,这是作业,我刚刚在上面添加它。那么我一直在尝试一段时间,它确实需要调试。对不起,我没有在帖子中添加代码。 – user2330409 2013-04-29 01:28:24