From f81b2a854f52e8fae628257dd5b9d3f4b9752800 Mon Sep 17 00:00:00 2001
From: Turlagh <turlagh.clancy@student.uliege.be>
Date: Mon, 25 Nov 2024 15:00:07 +0100
Subject: [PATCH] Flask app and request python file

---
 flaskapp.py | 32 ++++++++++++++++++++++++++++++++
 request.py  | 32 ++++++++++++++++++++++++++++++++
 2 files changed, 64 insertions(+)
 create mode 100644 flaskapp.py
 create mode 100644 request.py

diff --git a/flaskapp.py b/flaskapp.py
new file mode 100644
index 0000000..e670294
--- /dev/null
+++ b/flaskapp.py
@@ -0,0 +1,32 @@
+# Write a python code which creates a server which guesses a number between 1 and 11, and then responds to https requests to say if they got the guess right or wrong.
+# It should be a server that can handle http requests and understand json data.
+
+import random
+from flask import Flask, request, jsonify
+
+app = Flask(__name__)
+
+# Generate a random number between 1 and 11
+secret_number = random.randint(1, 11)
+
+
+@app.route('/guess', methods=['POST'])
+def guess_number():
+    data = request.get_json()
+
+    if 'guess' not in data:
+        return jsonify({"error": "Please provide a 'guess' in your request"}), 400
+
+    user_guess = data['guess']
+
+    if not isinstance(user_guess, int) or user_guess < 1 or user_guess > 11:
+        return jsonify({"error": "Guess must be an integer between 1 and 11"}), 400
+
+    if user_guess == secret_number:
+        return jsonify({"result": "Correct! You guessed the right number."}), 200
+    else:
+        return jsonify({"result": "Wrong guess. Try again!"}), 200
+
+
+if __name__ == '__main__':
+    app.run(debug=True)
diff --git a/request.py b/request.py
new file mode 100644
index 0000000..6dc3550
--- /dev/null
+++ b/request.py
@@ -0,0 +1,32 @@
+import requests
+import random
+
+# The URL of your Flask app
+url = "http://localhost:5000/guess"
+
+
+def make_guess(guess):
+    # Prepare the JSON payload
+    payload = {"guess": guess}
+
+    # Send POST request
+    response = requests.post(url, json=payload)
+
+    # Print the response
+    print(f"Guess: {guess}")
+    print(f"Status Code: {response.status_code}")
+    print(f"Response: {response.json()}")
+    print()
+
+
+# Make 5 random guesses
+for _ in range(12):
+    # Generate a random guess between 1 and 11
+    guess = random.randint(1, 11)
+    make_guess(guess)
+
+# Try an invalid guess (string instead of integer)
+make_guess("invalid")
+
+# Try an out-of-range guess
+make_guess(15)
-- 
GitLab