我的家庭作業是:「編寫一個名爲findPattern()的函數,它接受兩個字符串作爲參數,一個文件名和一個模式,函數讀入由給定文件名指定的文件,並搜索給定模式的文件內容。然後它返回找到該模式的第一個實例的行的行號和索引,如果找不到匹配,那麼對於行號和索引,你的函數應該返回-1。findPattern()Python代碼...不正確執行?
我很確定我的代碼是準確的,直到它執行第一個命令,然後忽略其餘的代碼。我嘗試了幾種不同的寫作方式,但所有這三種方式都導致......不能正常工作。
我會後下面的兩個相關代碼:
代碼1:
def findPattern (filename, pattern):
f=open(filename)
linecount = 0
lettercount = 0
for line in f:
lineCount +=1
for letter in range(len(line)):
if line(letter)==pattern:
letterCount+=1
return[lineCount,line]
return "Did not find " + pattern
代碼2:
print
filename = raw_input("Enter a file name: ")
pattern = raw_input("Enter a pattern: ")
def findPattern (filename,pattern):
f=open(filename)
lineCount = 0
letterCount = 0
for line in f:
lineCount +=1
for letter in range(len(line)):
if line(letter)==pattern:
letterCount+=1
print ("Found pattern " + pattern + " at " + str((lineCount, letter)))
我覺得代碼2會更容易的工作,但它沒有產生任何結果。任何輸入都將被appriciated。
- 謝謝!
那麼事情是它沒有產生任何東西,在輸入raw_inputs它只會這樣做: >>> 因此,感謝您的及時響應,我其實沒有注意到錯別字。 – compsciencenub 2010-10-10 21:00:38
此外,我正在尋找一個字符串。不幸的是,我正在通過討論課的代碼,所以我不太確定究竟是什麼。 – compsciencenub 2010-10-10 21:02:04
這些是完整的腳本嗎?然後,解決方案非常簡單:您不需要調用'findPattern'函數,只需定義它即可。 – 2010-10-10 21:06:19