四則演算
execに頼るというのも情けない話なので、
とりあえず、四則演算を実装。
def calc(expr, x): ret = None tmp = 0 calcPtn = "" for val in expr.split(" "): try: if(ret == None): if(val == "x"): ret = x else: ret = int(val) else: if(val == "x"): tmp = x else: tmp = int(val) if(calcPtn == "+"): ret += tmp elif(calcPtn == "-"): ret -= tmp elif(calcPtn == "*"): ret *= tmp elif(calcPtn == "/"): ret /= tmp except: calcPtn = val return ret expr = "x + x * x - x / 2" for x in range(10): ret = calc(expr, x) print "%s = %d (x = %d)" % (expr, ret, x)
式がスペース区切りという情けない仕様ですが…(´Д`;