在Python中用标题汇总数字

时间:2012-04-10 14:27:12

标签: python sum

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

Inputfile中:
名称
10个
-43
54个
名称2
654个
43个
2
-5467
NAME3
65个
65

OUTPUTFILE:
姓名21
名称2-4768
姓名3 130

我得出的结论是,我应该将输入拆分为数组中的数组,然后打印第一个元素和其余的总和,但我不知道该怎么做,我还没有找到网上有关于此的任何内容。

3 个答案:

答案 0 :(得分: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

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

了解如何捕捉错误(tryexcept)。

了解如何逐行读取文件。尝试迭代文件;)

其余的是基本的编程逻辑。自己搞清楚会给你最大的收获。

答案 1 :(得分:1)

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

答案 2 :(得分:1)

使用

逐行迭代文件
for line in open('test.txt'):
    # do stuff

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