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.
 
 

70 lines
1.6 KiB

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>/vynasov/A/B</li>
<li>/vydel/A/B</li>
<li>/mocnina/zaklad/exponent</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 subtract(a,b):
vysledek = a-b
return jsonify({
"operace":"odčítání",
"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":"dělení",
"vstup":{"a":a,"b":b},
"chyba":"Dělení nulou není povolené"
}), 400 #HTTP 400 je Bad Request
vysledek = a/b
return jsonify({
"operace":"dělení",
"vstup":{"a":a,"b":b},
"vysledek":vysledek
})
@app.route("/mocnina/<int:zaklad>/<int:exponent>")
def mocnina(zaklad,exponent):
vysledek = zaklad**exponent
return jsonify({
"operace":"mocnina",
"vstup":{"základ":zaklad,"exponent":exponent},
"vysledek":vysledek
})
if __name__ == "__main__":
print("Server beží na http://localhost:8080")
app.run(host="0.0.0.0",port=8080,debug=True)