python - 使用用户输入和循环写入文本文件
问题描述
我正在开发一个 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
解决方案
为了停止接受输入,我们要求最后一行等于“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: ")
此外,当它已经具有相同的运行条件时,退出循环存在冗余。可以通过改变循环内部的输入和处理顺序来避免(如上)。
推荐阅读
- java - 使用 jOOq 时如何在参数值周围加上括号?
- json - 在 DOM 中显示来自 API 结果的 JSON 数据
- smtp - Splunk sendemail 使用邮件服务器 smtp.gmail.com 失败 [Errno 99]
- php - 如何优化限制查询以更快地从大表中访问数据?
- python - 如何打印包含单独列表总和的列表
- wpf - 尝试显示 MahApps Metro 对话框时出现异常
- excel - 如何运行我针对我的 excel 表的所有行编写的 vba?
- python - 以向量化方式计算数组切片上的函数
- javascript - EJS 应用程序上的搜索栏
- javascript - 反应:设置 div 的 scrollTop 属性不起作用