基本上我需要创建一个程序,它将添加从逗号分隔的文本文件中读取的数字.即
在
file.txt的
1,2,3
4,5,6
7,8,9
到目前为止,我有简单的代码
x = 1
y = 2
z = 3
sum=x+y+z
print(sum)
Run Code Online (Sandbox Code Playgroud)
我不确定如何将文本文件中的每个数字分配给x,y,z.
我想要的是它将迭代文本文件中的每一行,这将是一个简单的循环.
但是我也不知道如何将结果输出到另一个文本文件.即answers.txt
6
15
24
非常感谢.
Edu*_*eMe 12
欢迎来到StackOverflow!
你有正确的想法,让我们从打开一些文件开始.
with open("text.txt", "r") as filestream:
with open("answers.txt", "w") as filestreamtwo:
Run Code Online (Sandbox Code Playgroud)
在这里,我们打开了两个文件流"text.txt"和"answers.txt".
由于我们使用"with",这些文件流将在它们下面的空白代码完成运行后自动关闭.
现在,让我们逐行浏览文件"text.txt".
for line in filestream:
Run Code Online (Sandbox Code Playgroud)
这将运行for循环并在文件末尾结束.
接下来,我们需要将输入文本更改为我们可以使用的内容,例如数组!
currentline = line.split(",")
Run Code Online (Sandbox Code Playgroud)
现在,"currentline"包含"text.txt"第一行中列出的所有整数.
让我们总结一下这些整数.
total = str(int(currentline[0]) + int(currentline[1]) + int(currentline [2])) + "\n"
Run Code Online (Sandbox Code Playgroud)
我们必须在"currentline"数组中的每个元素周围包装int函数.否则,我们将串联字符串而不是添加整数!
之后,我们添加回车符"\n",以使"answers.txt"更清楚地理解.
filestreamtwo.write(total)
Run Code Online (Sandbox Code Playgroud)
现在,我们正在写文件"answers.txt"......就是这样!你完成了!
这是代码:
with open("test.txt", "r") as filestream:
with open("answers.txt", "w") as filestreamtwo:
for line in filestream:
currentline = line.split(",")
total = str(int(currentline[0]) + int(currentline[1]) + int(currentline [2])) + "\n"
filestreamtwo.write(total)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
66769 次 |
| 最近记录: |