2017-10-10 267 views
1

項目背景: 我正在研究一個簡單的程序,將有助於計算噴水滅火系統時鐘的水流量。我需要遍歷每個時鐘站(我作爲迭代器)以及每個站點上的每種類型的噴水器(j作爲迭代器)。嵌套for循環python不工作

該問題: 我已經做了我認爲是正確的嵌套for循環,但我對python非常新。發生了什麼事是我的迭代器只是預先形成了第一個問題,並完全跳過第二個循環。

代碼:

for i in range(0,thisClock.stations): 
    thisStation = Station() 
    thisStation.setTypeNumber() 
#this for loop sets all the sprinkler types in thisStation 
    for j in range(0, thisStation.intSprinklerTypes): 
    thisStation.setType(j) 

我還上傳github上完整的代碼在這裏:https://gist.github.com/SJWPrincess/ca0f76782ba80fd1e5c52cc776bcba0b

我把物品放入主文件在github上,所以你可以看到這一切在一個地方。

tl; dr:爲什麼我的程序完全跳過循環,只返回最後的數字?

+2

請提供一個[最小化,完整和可驗證的示例](https://stackoverflow.com/help/mcve) –

+1

似乎你在循環的每次迭代中創建一個新的'thisstation',然後不做任何事情來保存那個'車站_循環外側。 –

+3

另外,你應該真的使用第101行到第182行的字典... –

回答

0

當您在車站的構造函數定義每個站thisStation = Station(),你似乎設置intSprinklerTypes = 0所以它僅僅是從0循環,從而根據你的代碼撇0

我相信你也應該調用thisStation.setSprinklerNumber()

+0

啊,就是這樣。謝謝。我知道它就是這樣的。我已經做了幾個版本,我想我只是沒有抓住我所有的改變。 –