Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions calculate.py
Original file line number Diff line number Diff line change
@@ -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)



21 changes: 15 additions & 6 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,19 @@
# 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
- Circle: `P = 2πR`
- Rectangle: `P = 2a + 2b`
- Square: `P = 4a`
- Triangle: `P = a + b + c`
6 changes: 6 additions & 0 deletions triangle.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
def area(a, b, c):
return (a + b + c) / 2


def perimeter(a, b, c):
return a + b + c
14 changes: 14 additions & 0 deletions user_agreement.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
License Agreement

This License Agreement is made and effective as of 10 march 2021 by and between Smartiqa Group, a company organized and existing in Russian Federation, with a registered address at Moscow and User, a company organized and existing in Russian Federation, with a registered address at Moscow.

1.1 “Agreement” means this License Agreement including the attached Schedule.

1.2 “Confidential Information” means information that:
a. is by its nature confidential;
b. is designated in writing by Licensor as confidential;
c. the Licensee knows or reasonably ought to know is confidential;
d. Information comprised in or relating to any Intellectual Property Rights of Licensor.

1.3 “Asset” means the Asset provided by Licensor as specified in Item 6 of the Schedule in the form as stated in Item 7 of the Schedule.