使用python处理创建python计算器

2024-05-23 08:05:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经接受了一个月的python培训(我仍然是noobish),我正在参与这个项目,我想使用python handlin(.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())  

谢谢你们,小伙子们


Tags: 文件程序txtaswith数字resultopen
1条回答
网友
1楼 · 发布于 2024-05-23 08:05:38

我对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")

我对你的计算器课做了一些修改,但这远远不是最优的,我更关注的是将问题写入结果文件方面

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

这可能不是最好的答案,但它肯定会让你走上正确的方向

相关问题 更多 >

    热门问题