我必须编写一个执行此操作的脚本:
Inputfile中:
名称
10个
-43
54个
名称2
654个
43个
2
-5467
NAME3
65个
65
OUTPUTFILE:
姓名21
名称2-4768
姓名3 130
我得出的结论是,我应该将输入拆分为数组中的数组,然后打印第一个元素和其余的总和,但我不知道该怎么做,我还没有找到网上有关于此的任何内容。
答案 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
这应该可以帮助你弄清楚什么是字符串,什么不是。它还会将您的输入转换为数字。
了解如何捕捉错误(try
,except
)。
了解如何逐行读取文件。尝试迭代文件;)
其余的是基本的编程逻辑。自己搞清楚会给你最大的收获。
答案 1 :(得分:1)
打开文件并使用readline逐行打开文件。检查它是否是字符串。通过查看您的文件格式,我假设两个字符串(Name1和Name2或其他)之间的所有内容都是数字,因此将它们存储在列表中。最后使用sum(list)来获取输出。我不是在编写代码,因为这是“家庭作业”。
答案 2 :(得分:1)
使用
逐行迭代文件for line in open('test.txt'):
# do stuff
当您找到名称时,您需要开始将每个数字添加到一个总和中,直到您遇到一个不同的名称,然后再开始从零开始对数字求和。