from flask import Flask, jsonify, request import time from flask_cors import CORS from decimal import Decimal, getcontext app = Flask(__name__) CORS(app) def calculate_pi(n): getcontext().prec = n * 14 pi = Decimal(0) k = Decimal(0) x = Decimal(1) sixteen = Decimal(16) for i in range(n): pi += (Decimal(4) / (8*k + 1) - Decimal(2) / (8*k + 4) - Decimal(1) / (8*k + 5) - Decimal(1) / (8*k + 6)) * x k += 1 x /= 16 return pi @app.route('/pi') def get_pi(): try: precision = int(request.args.get('precision', 10)) start_time = time.time() pi = calculate_pi(precision) duration = (time.time() - start_time)*1000 return jsonify({ 'pi': f"{pi:.{precision}f}", 'time': f"{duration:.6f}ms", 'language': 'Python' }) except ValueError: return jsonify({'error': 'Invalid precision parameter'}), 400 if __name__ == '__main__': print("Python server starting on port 8082...") app.run(port=8082)