【问题标题】:How to load calculation input from text file and check the calculation is right or not with python如何从文本文件加载计算输入并使用python检查计算是否正确
【发布时间】:2022-12-07 21:54:04
【问题描述】:

我有一个包含以下内容的文本文件:

4 * 5 - 57 % 2 + 1
9 ** 2 + 67 - 32

89 - 6 +
893 - 34 + 45 -

23 > 25 / 5 + 8
84 < 56 + 2 ** 6

89 == 9 ** 2 + 6 ==
string + 6



33 + 14 - 12 / 9 % 2
33 + 1 4 - 12 / 9 % 2

我面临的问题是,我需要我的 python 程序来读取文本文件并像第一个一样计算正确的计算,但我不知道如何开始。 禁止评估,这对我来说也是一个问题

到目前为止,这就是我所拥有的:

with open("2021510029_emirhan_guler_input.txt", "rt") as text:

    list=text.readlines()

提前致谢。

【问题讨论】:

  • 不要将 list 指定为变量名,它会覆盖默认的 list 对象
  • ... 我们正在解决您的家庭作业问题吗? “禁止评估,这对我来说是个问题”
  • 我只需要一点点帮助

标签: python text numbers line calculation


【解决方案1】:

您需要从标记化开始:计算中的每个项目都用空格分隔。

with open("2021510029_emirhan_guler_input.txt", "rt") as text:
    calculations = text.readlines()

for calc in calculations:
    items = calc.strip().split(' ')

接下来,将运算符的字符串版本映射到执行该操作的函数。

def add(x, y):
    return x + y

def power(x, y):
    return x ** y

...

operators = {
   '+': add,
   '**': power,
   ...
}

然后,您需要将字符串中的操作数解析为数字。

def to_number(x):
    try:
        return int(x)
    except ValueError:
        pass
    try:
        return float(x)
    except ValueError:
        raise

最后,您需要构建订单操作。我不确定您是否需要查看是否可以完成计算,或者是否需要计算答案。

【讨论】:

  • 程序必须将 ERROR 写入错误计算的行,例如“string+6”,并且程序必须将正确的答案写入屏幕。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-09
  • 1970-01-01
  • 2021-02-16
  • 2014-02-09
  • 1970-01-01
相关资源
最近更新 更多