0

我必须编写一个脚本来执行此操作:

输入文件:
名称
10
-43
54名称2 654 43 2
-5467 名称 3 65 65






输出文件:
名称 21 名称 2
-4768名称 3
130

我得出的结论是,我应该将输入拆分为名称处的数组,然后打印第一个元素和其余元素的总和,但我不知道该怎么做,我还没有真正找到任何关于这个的东西在网上。

4

3 回答 3

3

一些提示:

>>> int('Name1')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'Name1'
>>> int('-43')
-43

这应该可以帮助您弄清楚什么是字符串,什么不是。它还将您的输入转换为您的数字。

了解如何捕获错误 ( try, except)。

了解如何逐行读取文件。尝试遍历文件;)

其余的是基本的编程逻辑。自己弄清楚会给你带来最大的收益。

于 2012-04-10T14:39:28.637 回答
1

使用逐行遍历文件

for line in open('test.txt'):
    # do stuff

当你找到一个名字时,你需要开始将每个数字加到一个总和中,直到你遇到一个不同的名字,然后你又开始从零开始对这些数字求和。

于 2012-04-10T14:57:50.883 回答
1

打开文件并使用 readline 逐行打开文件。检查它是否是字符串。通过查看您的文件格式,我假设两个字符串(Name1 和 Name2 或其他)之间的所有内容都是数字,因此将它们存储在列表中。最后使用 sum(list) 得到输出。我没有写代码,因为这是“家庭作业”。

于 2012-04-10T14:34:47.670 回答