2010-05-22 87 views
0

如何解決這個方案,但問題是,當它打印出的座標它給我的開始和結束7,我會感謝你的幫助,感謝尋找解決賜迷宮txt.file

start = (len(data)) 
finish = (len(data)) 
pos= [] 
for i in range(len(pos)): 
    for j in range(len(pos[i])): 
     if pos[i][j] == "S": 
      start=(i,j) 

     elif pos[i][j] == "F": 
      finish=(i,j) 

print "S found in",start, 
print "\nF found in",finish,"\n" 
+3

...... W時的T? – 2010-05-22 17:36:07

+0

當我運行這個程序,當它打印座標時,它打印出開始和結束的座標7它應該是開始(3,4)和完成(0,2)座標 – alberto 2010-05-22 17:41:08

+0

Ehm ...請更多具體在你問什麼。 – lbedogni 2010-05-22 17:41:53

回答

2

看看你的代碼的開始:

start = (len(data)) 
finish = (len(data)) 
pos= [] 
for i in range(len(pos)): 

len(pos)爲零,當然(你剛分配的空單pos,所以還有什麼可能是長度可能只是0 ?!),所以循環執行零次,startfinish永遠不會改變,並且在循環之後爲它們打印的內容正是您在此處分配給它們的內容 - 儘管所有冗餘括號完全相同整數爲兩個(你告訴我們是7,所以大概無論data是,它的長度爲7)。

+0

我剛纔發現7是txt文件中的行數,我該如何解決這個問題? – alberto 2010-05-22 17:50:42

+0

txt文件每行有7行和10個元素。 – alberto 2010-05-22 17:51:33

+0

你可以使用**''''列表來嘗試** - 你從不會在你的代碼中的任何地方使用它(除了在開始的時候對'len'的兩次調用),而是將一個空列表分配給'pos '然後'使用''pos'(這顯然什麼都不做)。無論你想解決什麼「數據」相關的問題,你怎麼可能甚至解決它,而從來沒有,使用**什麼'數據'包含?! – 2010-05-22 17:53:36