Skip to main content
 首页 » 编程设计

python之如何使这段 Python 代码更易用和可读

2025年05月04日12xing901022

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

附言这只是一个简单的脚本,用于从括号内提取问题,将其相加,展示工作,然后评估整个问题。

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) 

请您参考如下方法:

一些问题:

contents = re.match("(\(.*\))", problem) 

当输入 (1+2)/(3+4) 时,它将尝试计算 1+2)/(3+4。

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

我认为你应该在“看答案”之前再试一次。