-1
我可能會在這裏失蹤,如果是這樣,請原諒noob(我是)問題。我正在嘗試遍歷文本文件中的行。第一個for
工作正常;然而,第二個for
沒有。 print(eachLine)
命令不會打印任何內容,並且newY
列表的結果是空白列表(因爲它已被初始化)。我所做的所有調試(下面只是最新的)指出第二個for
根本沒有被訪問。我在這裏錯過了什麼?Python - 第二'for'循環在功能不起作用
編輯:有一個類似的問題here,但在一個有嵌套循環和錯誤是,用戶指的是在同一文件的相同線嵌套循環。我試圖從頭開始重新遍歷文件。
import os
os.chdir ('d:\Documente\python tests')
def plotRegression(myFile):
lineCounter=0
sumX=0
sumY=0
sumXY=0
sumX2=0
newY=[]
for eachLine in myFile:
coords=eachLine.split()
lineCounter=lineCounter+1
sumX=sumX+float(coords[0])
sumY=sumY+float(coords[1])
sumXY=sumXY+float(coords[0])*float(coords[1])
sumX2=sumX2+float(coords[0])**2
avgX=sumX/lineCounter
avgY=sumY/lineCounter
m =(sumXY-lineCounter*avgX*avgY)/(sumX2-lineCounter*avgX**2)
for eachLine in myFile:
print (eachLine)
coords=eachLine.split()
newY.append(avgY+m*(coords[0]-avgX))
return (avgX, avgY,sumXY, sumX2, m, newY)
def Main():
dataFile = open("labdata.txt","r")
print (plotRegression(dataFile))
dataFile.close()
Main()
請做一個**最簡單的例子**。 sumX/avgX計算中沒有一個與您的問題相關。 –
@MarcusMüller - 發佈時,我不知道問題是什麼,所以我儘可能多地提供了信息。看起來像我有一些額外的提示,因爲這一點。我現在不會編輯這個問題,否則部分答案就沒有意義了。不過,謝謝你指出這一點。 –
你正在提出一個非常有效的觀點:)但請記住:通常,在問問題之前,你會嘗試自己縮小問題的範圍,因此從代碼中移除計算將是我第一次嘗試解決問題。仍然:讓你的評論得到讚揚,因爲它非常明智! –