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)