编写一个函数,返回数据.txt反向

2024-05-15 05:55:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我对Python编程还是个新手,我一直在研究如何反向返回函数中的数据。在

例如,如果数据.txt包含:

Chaos reigns within. 
Reflect, repent, and reboot 
Order will return.

调用write_reversed('数据.txt')将打印:

^{pr2}$

我现在写的代码是

def write_reversed(filename):
    """returns with words in reverse order in the file"""
    with open(filename, 'r') as write_reversed:
        for line in write_reversed:
            return filename[::-1]

我把我的代码粘贴到一个Pylint检查器中,它显示“未使用的变量'line'”


Tags: 数据函数代码intxtreturn编程with
3条回答

您正在反转文件名而不是文件的行。这里有一个reversed函数,它将返回一个迭代器,该迭代器将反向传递给您。文件对象是可编辑的(这就是为什么您可以使用for在它们的行上循环),所以您可以直接将您的对象传递给reversed

def reversed_lines(filename):
    """returns with words in reverse order in the file"""
    with open(filename, 'r') as f:
        return list(reversed(f))

如果函数应该打印行而不是返回行,只需将forreversed(f)一起使用,而不是{}。在

首先,它显示“unused variable line”,因为您从不使用line。您应该使用它而不是filename-事实上,您正在打开一个文件,然后对于文件中的每一行,您都向后返回文件名(这只发生一次,因为return将结束函数)。在

相反,建立一个list,然后return反向列表。在

def write_reversed(filename):
    """returns with words in reverse order in the file"""
    reversed = []
    with open(filename, 'r') as write_reversed:
        for line in write_reversed:
            reversed.append(line)
    return reversed[::-1]

您将得到unused variable错误,因为(显然)您没有使用声明后的变量。也许你的意思是:

for line in write_reversed:
     return line[::-1]

但是,您可以执行以下操作

^{pr2}$

相关问题 更多 >

    热门问题