【问题标题】:Creating python calculator using python handling使用 python 处理创建 python 计算器
【发布时间】:2021-01-12 19:47:47
【问题描述】:

我已经在 python 中训练了一个月(我仍然很笨),我正在这个项目中,我想使用 python 处理程序(.txt 文件)创建计算器。 我知道如何在 python 中创建一个计算器(程序),没有问题,但我在使用 .txt 文件时遇到了问题。 所以,我有一个名为 expression.txt 的 .txt 文件,其中包含以下内容:

9-1

6-3

因此,它由数字 (9)、运算符 (减号 -) 和数字 (1) 组成。 我需要创建一个程序来读取这个表达式,并将它和它的结果写入一个名为 result.txt 的单独文件中

result.txt 应该如下所示:

9-1=8

6-3=3

这就是我卡住的地方,所以我真的希望有人能给我一个推动。

class Calculator:

   def sub(self,a,b):

     return a - b

 with open('./expression.txt', 'r') as f:

   lines = f.readlines()

     for l in lines:

        if l[1] == '-':

           print(Calculator.sub(int(l[0]), int(l[2])))



     with open('./result.txt', 'w') as f2:

       f2.write('Test')


    with open('./result.txt', 'r') as f3: 

      print(f3.read())  

谢谢小伙伴们!

【问题讨论】:

  • 将第二个“with”移动到第一个“with”所在的位置(您可以将它们组合成一个“with”语句)并使用“print”的“file”参数而不是“write” "。

标签: python calculator file-handling


【解决方案1】:

我对 python 比较陌生,但这是我对你的问题的看法;

class Calculator:

    def __init__(self, a, b):
        self.substraction = a - b

    def sub(self):
        return self.substraction


with open('./expression.txt', 'r') as f:

    for line in f.readlines():
        if line[1] == '-':

            with open('./result.txt', 'a') as file:
                file.write(f"{line[0]}-{line[2]}={Calculator(int(line[0]), int(line[2])).sub()}\n")

我对您的 Calculator 类进行了一些更改,但它远非最佳,我更专注于将问题写入您的结果文件方面。

您的主要问题是您以写入模式打开结果文件,这会完全覆盖文本文件,因此当您进行下一次计算时,您将删除前一次计算的结果。

这可能不是最好的答案,但它肯定会让你朝着正确的方向前进。

【讨论】:

  • 兄弟,你是救生员!非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-10-18
  • 1970-01-01
  • 2015-11-10
  • 1970-01-01
  • 2021-03-19
  • 2021-05-01
  • 1970-01-01
相关资源
最近更新 更多