【发布时间】:2019-09-12 15:56:42
【问题描述】:
我是 Python 的初学者。为了练习它,我从 Code Abbey 做练习。他们经常将输入数据显示为数字列。在下面的示例中,我应该计算算术序列的第一个成员的总和。输入数据分为三列:
25 12 77
27 14 95
8 0 30
…
其中第一列中的数字是序列的起点,第二列中的数字是增量值,最后一列中的数字表示应该相加的值的数量。
由于这些包含输入数据的列表通常很长,我不想将它们硬编码在脚本中。所以我将它们复制、粘贴并保存在纯文本文件中。 在开始练习之前,我必须经过四个“for”循环来将初始文本文件转换为可行的格式(从字符串转换为整数)。此外,我必须创建几个列表,并在其中添加后续结果。
在第一个“for”循环之后,我得到了一个字符串列表:['25 12 77', '27 14 95',...]
在第二个“for”循环之后,我得到了一个字符串列表 [['25', '12', '77'], ['27', '14', '95']...]
在第三个和第四个(嵌套的)“for”循环之后,我终于收到了一个整数列表 [25, 12, 77, 27, 14, 95...]
with open("input_progression.txt") as file:
for line in file:
line = line.strip()
lines.append(line)
for strings in lines:
strings = strings.split(' ')
g.append(strings)
for sublist in g:
for item in sublist:
flat_list.append(item)
flat_list = list(map(int, flat_list))
for numbers in range(int(len(flat_list) / 3)):
for integer in range(0, flat_list[counter + 2]):
result += (flat_list[counter] + flat_list[counter + 1] * integer)
outcome.append(result)
counter += 3
result = 0
print (outcome)
这是一项相当乏味的工作(所有这些对我来说都是新事物)。你知道任何更简单(或者可能是 Pythonian)的方法吗?是否有教程如何使用文本文件作为输入?
【问题讨论】: