|
from flask import Flask, render_template, request |
|
from sympy import symbols, Eq, solve |
|
|
|
app = Flask(__name__) |
|
|
|
|
|
@app.route('/', methods=['GET', 'POST']) |
|
def index(): |
|
solutions = [] |
|
error = None |
|
if request.method == 'POST': |
|
equation = request.form['equation'] |
|
result = solve_equation_helper(equation) |
|
if 'error' in result: |
|
error = result['error'] |
|
else: |
|
solutions = result |
|
return render_template('yyfc.html', solutions=solutions, |
|
error=error) |
|
|
|
|
|
def solve_equation_helper(equation): |
|
try: |
|
|
|
left, right = equation.split('=') |
|
|
|
|
|
x = symbols('x') |
|
|
|
|
|
eq = Eq(eval(left), eval(right)) |
|
|
|
|
|
solutions = solve(eq, x) |
|
|
|
return solutions |
|
except Exception: |
|
error_message = "请确保未知数为x,并且输入正确,其中*表示乘号,**表示乘方,/表示分式。如果还有问题,请把错误提示和发生错误的时间报告给星空暗夜团队。" |
|
return {'error': error_message} |
|
|
|
|
|
if __name__ == '__main__': |
|
app.run(host='0.0.0.0', port=7860) |
|
|