首页 > 解决方案 > 使用用户输入和循环写入文本文件

问题描述

我正在开发一个 Python 3 程序,该程序从程序用户那里获取字符串数据,然后将该数据写入文本文件。从文件中读取数据然后显示该数据的另一个程序。

要求是两个程序都将使用循环。程序#1 应该使用信号 QUIT 来停止运行。程序 #2 应该一直运行,直到从文件中提取所有数据。

我以为我对在 python 中读取/写入文本文件有所了解,但我完全不知道如何运行一个循环,直到信号 QUIT 为止。我尝试了一个 for 循环,但没有成功,所以我假设我会使用一个 while 循环,但不知道如何使它工作。

预计前景如下:

程序#1 输入文件名:test.txt 输入字符串:曾几何时 输入字符串:在西方 输入字符串:QUIT

程序#2 输入文件名:test.txt 从前在西部

我真的坚持这一点,所以如果有人能提供帮助,那就太棒了。

对不起,这是我的代码:

tf = open("test.txt", "w")
a = input("Enter a string: ")
while a != "QUIT":
    print(input("Enter a string: ")
    if a == "QUIT":
          break
    

标签: pythonread-write

解决方案


为了停止接受输入,我们要求最后一行等于“QUIT”。在您的代码中,a定义后不会修改,因为根本不存储所有后续输入。相反,我们必须a为每个输入更新:

tf = open("test.txt", "w")
a = input("Enter a string: ")
while a != "QUIT":
    # Current a is not "QUIT"
    # Write a to tf...
    a = input("Enter a string: ")

此外,当它已经具有相同的运行条件时,退出循环存在冗余。可以通过改变循环内部的输入和处理顺序来避免(如上)。


推荐阅读