我想在python中編寫一個程序,該程序打開該文件並通過該文件讀取,查找某種模式。之後,我必須解析已識別的行並從每行中提取浮點值,然後計算所有行的平均值。這是我到目前爲止寫如何計算在python中包含浮點值的行的平均值
fname = raw_input("Enter file name: ")
fh = open(fname)
count = 0
sum = 0
for line in fh:
line = line.rstrip()
if line.startswith("X-DSPAM-Confidence:"):
count = count + 1
number = float(line[19:])
for num in range(number):
sum = sum + num
average = sum/count
print "Average spam confidence:", average
print "Done"
但我得到這個錯誤start must be a integer on line 12
和我似乎無法理解爲什麼。我相對較新的python,我想知道如果我得到一些關於這個錯誤的幫助。
'range'預計一個整數參數從0計數高達你給它一個浮點值。你是否需要對數字進行總和,並將它們平均到'fh'循環中的'for line'之後? –
是的,但我需要首先解析這些行來提取數字,然後計算,求和並最終得到它們的平均值。如果我不給範圍,那麼我得到另一個錯誤'浮動值不能迭代'。 – upendra