使用while循环函数从文本文件Python返回字符串



这个函数包含一个文件"file.txt",其中包含文本"Hello World!"我需要做的是打开文件并使用while循环来构建并返回文件中的短语和最后一个单词("World!")x次,在新行上。

while循环是必要的

其他不使用while循环的方法也会有帮助

def echo(fname, x):
    fname = open("file.txt",'r')
    text = fname.read()
    return text
    i=1
    while i <= x:
        return text[:6]
        i +=1

这是问题和它应该产生的结果。

编写一个函数,接受一个代表文件名的字符串和一个数字x作为参数。打开文件并使用while循环并返回一个包含文件中的短语和最后一个单词x次的字符串。

def echo(fname, x):
"""
>>>echo("file.txt", 2)
"Hello World!:\nWorld!\nWorld!\n
>>> echo("file.txt", 4)
"Hello World!:\nWorld!\nWorld!\nWorld!\nWorld!\n
"""

假设你的文件总是只有一行:

def echo(filename, repeats):
    with open(filename) as f:
        txt = f.read()  # this is normally ugly, but since we're presupposing
                        # one-line files, let's run with it....
    last_word = txt.split()[-1]
    result = "n".join([txt] + [last_word] * repeats)
    return result

在这里使用while循环是愚蠢的。别这么做。

如果你真的需要while循环

def echo(fname, x):
    with open(fname) as f:
        line = f.readline()
    retlst = [line]
    i = 0
    words = line.split()
    while i < x:
        retlst.extend(words[-1:])
        i += 1
    return 'n'.join(retlst)
print echo("filewhl.txt", 3)

相关内容

  • 没有找到相关文章

最新更新