我的家庭作业是:“编写一个名为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