【发布时间】:2019-06-20 23:57:32
【问题描述】:
我有一个如下所示的输入文件:
4 * 2 ^ 3 + 4 ^ 1
2 * 1 ^ 2 + 2 ^ 3
并且可能会有更多行。我需要做的是提取* 符号之前的值,所以第一行是4。然后我需要创建一个元组g = [(2,3),(4,1)],因此元组对由+ 分隔,然后对本身由^ 分隔。
my_input = open('input.txt').readlines()
lines = [str(line) for line in
open('input.txt','r').read().split('\n')]
per_line = str(lines[0]).split('*')
x = int(per_line[0])
terms = str(per_line[1].split('+'))
现在如果我print terms 我得到['2 ^ 3 ', ' 4 ^ 1'],如果我print x 我得到4,那么这似乎有效。但现在我需要以所描述的元组形式获取这些值。如果我在'^' 上再次拆分,我不会得到所需的结果,而是["['2 ", " 3 ', ' 4 ", " 1']"],这是行不通的。我用factors = str(terms.split('^'))尝试过。
我还需要进行一次迭代,以便它适用于所有行,但我可以稍后再做。我首先要确保它仅适用于第一行。
有什么建议吗?
【问题讨论】:
-
If I split again on '^' I don't get the result needed。请出示您的代码。 -
factors = str(terms.split('^')) -
你为什么到处使用
str?