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
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)
|