Spaces:
Sleeping
Sleeping
File size: 1,824 Bytes
24153db a9ba32c 24153db |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
from fastapi import FastAPI
from pydantic import BaseModel
from typing import List, Set
app = FastAPI()
class SetOperationInput(BaseModel):
set1: List[int]
set2: List[int]
set3: List[int]
class UniverseInput(BaseModel):
initial_value: int
step: int
num_steps: int
class ComplementInput(BaseModel):
universe: List[int]
target_set: List[int]
class InequalityInput(BaseModel):
inequality: str
@app.post("/set_operations/")
def set_operations(input_data: SetOperationInput):
set1 = set(input_data.set1)
set2 = set(input_data.set2)
set3 = set(input_data.set3)
result = {
"union": list(set1.union(set2, set3)),
"intersection": list(set1.intersection(set2, set3)),
"difference": list(set1.difference(set2, set3)),
"symmetric_difference": list(set1.symmetric_difference(set2))
}
return result
@app.post("/generate_universe/")
def generate_universe(input_data: UniverseInput):
initial_value = input_data.initial_value
step = input_data.step
num_steps = input_data.num_steps
universe_set = list(range(initial_value, initial_value + step * num_steps, step))
return {"universe": universe_set}
@app.post("/complement_operation/")
def complement_operation(input_data: ComplementInput):
universe_set = set(input_data.universe)
target_set = set(input_data.target_set)
complement = list(universe_set.difference(target_set))
return {"complement": complement}
@app.post("/inequality_solver/")
def inequality_solver(input_data: InequalityInput):
x = symbols('x')
inequality = eval(input_data.inequality)
solution = solve(inequality, x)
return {"solution": str(solution)}
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="0.0.0.0", port=7860)
|