You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

83 lines
1.8 KiB

# python -m venv .venv
# .venv\scripts\activate
# pip install flask
from flask import Flask, jsonify
app = Flask(__name__)
@app.route("/")
def index():
return """
<ul>
<li>/secti/A/B</li>
<li>/odecti/A/B</li>
<li>/vynasob/A/B</li>
<li>/vydel/A/B</li>
<li>/mocnina/základ/exponent</li>
<li>/pozdrav/JMÉNO</li>
</ul>
"""
@app.route("/secti/<int:a>/<int:b>")
def add(a,b):
vysledek = a+b
return jsonify({
"operace":"soucet",
"vstup":{"a":a,"b":b},
"vysledek":vysledek
})
@app.route("/odecti/<int:a>/<int:b>")
def substrack(a,b):
vysledek = a-b
return jsonify({
"operace":"rozdíl",
"vstup":{"a":a,"b":b},
"vysledek":vysledek
})
@app.route("/vynasob/<int:a>/<int:b>")
def multiply(a,b):
vysledek = a*b
return jsonify({
"operace":"násobení",
"vstup":{"a":a,"b":b},
"vysledek":vysledek
})
@app.route("/vydel/<int:a>/<int:b>")
def divide(a,b):
if b == 0:
return jsonify({
"operace":"rozdil",
"vstup":{"a":a,"b":b},
"chyba": "Dělení nulou není povoleno!"
}), 400 #400 Bad Request
vysledek = a/b
return jsonify({
"operace":"rozdil",
"vstup":{"a":a,"b":b},
"vysledek":vysledek
})
@app.route("/mocnina/<int:zaklad>/<int:exponent>")
def power(zaklad,exponent):
vysledek = zaklad ** exponent
return jsonify({
"operace":"mocnina",
"zaklad": zaklad,
"exponent":exponent,
"vysledek":vysledek
})
@app.route("/pozdrav/<string:jmeno>")
def pozdrav(jmeno):
return f"Ahoj {jmeno}"
if __name__ == "__main__":
print("Server běží na http://localhost:80")
app.run(host="0.0.0.0", port=80, debug=True)