要做到从指定行所有行(包括定行)的总和,你行变量需要减去1.如果是独占该行然后只使用按原样变化。使用...打开文件以使其自动关闭并选择读取('r')作为模式。创建一个变量来存储这些行并选择readlines()。这将每行存储在列表中自己的位置。
创建另一个变量来实际地总和这些行。使用一个while循环与给定的起始行变量相关联,只要它小于列表的长度,遍历列表并将每行添加到sum变量(如使用nums所示)。
由于open()是如何读取行的,因此它会在\ end中将其全部作为字符串进行抽取。添加条('\ n')以删除\ n并将其全部转换为整数。将1添加到行变量中,以正确迭代并结束循环。
def example(file_name, line):
with open(file_name, 'r') as f:
x = f.readlines()
line = line - 1
nums = 0
while line < len(x):
nums += int(x[line].strip('\n'))
line += 1
print(nums)
example("example.txt", 4)
# My example.txt file has a different number on each line in this order: 2, 4, 3, 7, 5, 6, 4
如果你想要做的只是下面给定行一定数量的线条,添加此额外数量的功能,然后行变量添加到这个额外的变量之前从行变量中减去1。而不是迭代列表的长度,在你结束时使用这个修改的额外变量。
def example(file_name, line, end_line):
with open(file_name, 'r') as f:
x = f.readlines()
end_line += line
line = line - 1
nums = 0
while line < end_line:
nums += int(x[line].strip('\n'))
line += 1
print(nums)
example("example.txt", 4, 2)
# My example.txt file has a different number on each line in this order: 2, 4, 3, 7, 5, 6, 4
同样,如果你不想包含给定的线,就不要减1
谢谢你,我会至三出来 –