如何使这个Python代码更易于使用和可读?

Cod*_*man 1 python oop usability readability

初学者在python中,但现在已经编程了大约5年.我怀疑我有很多东西要学习以面向对象的方式做事,但我知道基础知识.我计划编写一个计算器,显示它可以从中获得挑战和知识.我刚刚开始,这就是我所拥有的,它对我来说真的很难看.你会怎么做得与众不同?

PS这只是一个简单的脚本,可以从括号内部解决问题,添加它,显示工作,然后评估完整的问题.

import re

def EvalParenths(problem):
    contents = ""
    if re.match( "\(", problem):
        contents = re.match("(\(.*\))", problem)
        parenthsAnswer = contents.group(0)
        problem = problem.replace(parenthsAnswer, '')
        print "   \ \n   "  + str(eval(parenthsAnswer)) + problem
        problem = problem.replace(parenthsAnswer, '')
        answer = eval(parenthsAnswer+problem)
        print "    \ \n    " + str(answer)
    else:
        print "Didn't Find Parenthesis"

def ProblemHasParenths(problem):
    return re.match( "\(", problem)

"""""
Example Problem: (12/4)*2

"""""

problem = raw_input()

if ProblemHasParenths:
    EvalParenths(problem)
Run Code Online (Sandbox Code Playgroud)

Art*_*ius 5

一些问题:

contents = re.match("(\(.*\))", problem)
Run Code Online (Sandbox Code Playgroud)

当给出输入时(1+2)/(3+4),它将尝试评估1+2)/(3+4.

它也不会一直进入嵌套括号,为此你需要使用递归.

我认为你应该在"看看答案"之前再做一次尝试.