diff --git a/calculate.py b/calculate.py new file mode 100644 index 0000000000..6dc22cf124 --- /dev/null +++ b/calculate.py @@ -0,0 +1,33 @@ +import circle +import square + + +figs = ['circle', 'square'] +funcs = ['perimeter', 'area'] +sizes = {} + +def calc(fig, func, size): + assert fig in figs + assert func in funcs + + result = eval(f'{fig}.{func}(*{size})') + print(f'{func} of {fig} is {result}') + +if __name__ == "__main__": + func = '' + fig = '' + size = list() + + while fig not in figs: + fig = input(f"Enter figure name, avaliable are {figs}:\n") + + while func not in funcs: + func = input(f"Enter function name, avaliable are {funcs}:\n") + + while len(size) != sizes.get(f"{func}-{fig}", 1): + size = list(map(int, input("Input figure sizes separated by space, 1 for circle and square\n").split(' '))) + + calc(fig, func, size) + + + diff --git a/docs/README.md b/docs/README.md index 63f8727939..dcc59f1334 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,10 +1,22 @@ +0 +# How to use calculator: +1. Run `python calculate.py` +2. Enter the figure name. Available are Circle, Square. +3. Enter the function: Area or Perimeter. +4. Enter figure sizes. Radius for circle, one side for square. +5. Get the answer! + # Math formulas ## Area -- Circle: S = πR² -- Rectangle: S = ab -- Square: S = a² +- Circle: `S = πR²` +- Rectangle: `S = ab` +- Square: `S = a²` +- Triangle: `S = sqrt(p * (p-a) * (p-b) * (p-c))` where p is semiperimeter ## Perimeter -- Circle: P = 2πR -- Rectangle: P = 2a + 2b -- Square: P = 4a \ No newline at end of file +- Circle: `P = 2πR` +- Rectangle: `P = 2a + 2b` +- Square: `P = 4a` +- Triangle: `P = a + b + c` + +))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) diff --git a/triangle.py b/triangle.py new file mode 100644 index 0000000000..fb41f60a52 --- /dev/null +++ b/triangle.py @@ -0,0 +1,6 @@ +def area(a, b, c): + return (a + b + c) / 2 + + +def perimeter(a, b, c): + return a + b + c