利用eval函數實現簡單的計算器
阿新 • • 發佈:2019-02-20
error: exce () addition follow UNC des put except
""" description : use python eval() function implement a simple calculator functions can be used as follow: ---------------------------------------- + : addition - : minus * : multiplication / : division % : --> /100.0 e : math.e pi : math.pi sin : math.sin cos : math.cos ^ : --> ** tan : math.tan mod : --> % sqrt: math.sqrt rad: --> radius math.radians round: """ import math # 定義可以使用的函數及常量 functions=(‘e‘,‘pi‘,‘sin‘,‘cos‘,‘tan‘,‘sqrt‘,‘radians‘) def calculate(expression): expression=expression.lower() # replace函數返回替換後的字符串 expression=expression.replace(‘%‘,‘/100.0‘) expression=expression.replace(‘^‘,‘**‘) expression=expression.replace(‘mod‘,‘%‘) expression=expression.replace(‘rad‘,‘radians‘) for i in functions: if i in expression: expression=expression.replace(i,‘math.{}‘.format(i)) try: return (eval(expression)) except ZeroDivisionError: print(‘zero can not be division‘) except Exception as e: print(e) def main(): while True: expression=input("input your expression here:") if expression==‘q‘: break else: result=calculate(expression) if result: print(result) if __name__=="__main__": main()
利用eval函數實現簡單的計算器