test-repo/app.py
2026-01-31 17:24:57 +03:00

51 lines
1.1 KiB
Python

from flask import Flask, render_template, request
app = Flask(__name__)
def _calculate(a: float, b: float, op: str) -> float:
if op == "+":
return a + b
if op == "-":
return a - b
if op == "*":
return a * b
if op == "/":
if b == 0:
raise ZeroDivisionError("Division by zero")
return a / b
raise ValueError("Unknown operation")
@app.route("/", methods=["GET", "POST"])
def index():
result = None
error = None
a_val = ""
b_val = ""
op = "+"
if request.method == "POST":
a_val = request.form.get("a", "")
b_val = request.form.get("b", "")
op = request.form.get("op", "+")
try:
a = float(a_val)
b = float(b_val)
result = _calculate(a, b, op)
except Exception as exc: # noqa: BLE001 - show a friendly message
error = str(exc)
return render_template(
"index.html",
result=result,
error=error,
a_val=a_val,
b_val=b_val,
op=op,
)
if __name__ == "__main__":
app.run(host="0.0.0.0", port=5000, debug=False)