0

计算器语言就是问题所在,我将在 python 中对其进行编码。编码部分已完成,但在读取输入文件时遇到问题。

所以输入文件看起来像这样:

A = B = 4
C = (D = 2)*_2
#

我想做的是逐行读取每个字符(每行都是一个表达式,必须计算),字符作为字符,整数作为整数,因为我将它们推入堆栈。有两个堆栈,一个用于字符和数字,另一个用于运算符。

无论如何,这是我到目前为止对输入所做的:

#!/usr/bin/python

a = open("testinput1.txt","r+")
wordList = [line.strip() for line in a];


print wordList[1]

我得到的是:

C = (D = 2)*_2

当文件阅读器点击 # 时,也会到达文件末尾。

欢迎任何形式的帮助或建议。

4

2 回答 2

1

现在您的 wordlist[0] 包含您的第一个语句,在 python 中,每个字符串都可以直接索引,而无需为其创建单独的列表。

例如:如果 wordlist[0] 包含 "c=a+b" , wordlist[0][0] 会直接给你 'c'。

于 2013-06-07T07:19:08.103 回答
1

wordList 是行列表,每个元素都是行(剥离一个,没有 \n')您应该拆分每一行以获取其标记。然后为每个标记检查它是字符串还是整数(例如使用 isdigit)。

于 2013-06-07T06:34:12.217 回答