-1

我正在上python初学者编程课程,我们刚刚开始学习字符串。我们的第一个任务是访问一个文本文件并返回包含指定字母的行。但是,当我这样做时,我得到的一条是正确的,另一条是完全错误的

text = open('some.txt')
def countLine(text):
q = 0 
for c in text:
    return(c)

def countLetterFile(char):
    for f in countLine(text):
        if f == char:
            print(countLine(text))
        else:
            pass
countLetterFile('w')

它应该打印“单词组成其他单词”“单词组成句子”和“我有 MS 单词”

相反,我得到了这个

This is a line

words make sentences
4

2 回答 2

1

一旦函数通过return语句返回某些内容,它就会中断。

为什么不只检查字母是否在行中?

def countLetterFile(char):
    for f in text:
        if char in f:
            print(f)
于 2013-09-28T03:14:44.870 回答
1

这是您的代码的问题。在 countLine 函数中,您正在遍历行的字符。您正在使用此功能进行检查并再次使用此功能进行打印。您只需要打印文本而不是 countLine(text)。

或者,您可以执行以下操作:

if char in text:
    print(text)
于 2013-09-28T03:22:56.337 回答