Skip to content
Merged
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
34 changes: 19 additions & 15 deletions assignments/calculator/solutions/mirpulatov/Simple/app.py
Original file line number Diff line number Diff line change
@@ -1,19 +1,15 @@
def plus(x, y):
return x + y


def minus(x, y):
return x - y


def multiply(x, y):
return x * y


def div(x, y):
return x / y


while True:
operation = input("Choose operation:\n"
"1. Sum\n"
Expand All @@ -25,14 +21,22 @@ def div(x, y):
if operation == "5":
break

a = int(input("Enter a: "))
b = int(input("Enter b: "))

if operation == "1":
print("Sum of a and b = {0}".format(plus(a, b)))
elif operation == "2":
print("Subtraction of a and b = {0}".format(minus(a, b)))
elif operation == "3":
print("Multiplication of a and b = {0}".format(multiply(a, b)))
elif operation == "4":
print("Division of a and b = {0}".format(div(a, b)))
try:
a = int(input("Enter a: "))
b = int(input("Enter b: "))
except ValueError as e:
print(e)
try:
if operation == "1":
print("Sum of a and b = {0}".format(plus(a, b)))
elif operation == "2":
print("Subtraction of a and b = {0}".format(minus(a, b)))
elif operation == "3":
print("Multiplication of a and b = {0}".format(multiply(a, b)))
elif operation == "4":
if b == 0:
print("Division by zero")
else:
print("Division of a and b = {0}".format(div(a, b)))
except Exception as e:
print(e)
13 changes: 13 additions & 0 deletions assignments/calculator/solutions/mirpulatov/Simple/test.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import unittest
import app

class SimpleTest(unittest.TestCase):

def testCalculation(self):
self.assertEqual(app.plus(3, 2), 5)
self.assertEqual(app.minus(3, 2), 1)
self.assertEqual(app.multiply(3, 2), 6)
self.assertEqual(app.div(4, 2), 2)

if __name__ == "__main__":
unittest.main()
Empty file.
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,7 @@ def multiply(self):
return self.x * self.y

def div(self):
return self.x / self.y
if self.y == 0:
print('Division by zero!')
else:
return self.x / self.y
28 changes: 16 additions & 12 deletions assignments/calculator/solutions/mirpulatov/Using OOP/calc_app.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
from calc import Calculator


while True:
operation = input("Choose operation:\n"
"1. Sum\n"
Expand All @@ -11,17 +10,22 @@

if operation == "5":
break

a = int(input("Enter a: "))
b = int(input("Enter b: "))
try:
a = int(input("Enter a: "))
b = int(input("Enter b: "))
except ValueError as e:
print(e)

calc = Calculator(a, b)

if operation == "1":
print("Sum of a and b = {0}".format(calc.plus()))
elif operation == "2":
print("Subtraction of a and b = {0}".format(calc.minus()))
elif operation == "3":
print("Multiplication of a and b = {0}".format(calc.multiply()))
elif operation == "4":
print("Division of a and b = {0}".format(calc.div()))
try:
if operation == "1":
print("Sum of a and b = {0}".format(calc.plus()))
elif operation == "2":
print("Subtraction of a and b = {0}".format(calc.minus()))
elif operation == "3":
print("Multiplication of a and b = {0}".format(calc.multiply()))
elif operation == "4":
print("Division of a and b = {0}".format(calc.div()))
except Exception as e:
print(e)
15 changes: 15 additions & 0 deletions assignments/calculator/solutions/mirpulatov/Using OOP/test.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import unittest
from calc import Calculator

calc = Calculator(6, 2)

class SimpleTest(unittest.TestCase):

def testCalculation(self):
self.assertEqual(calc.plus(), 8)
self.assertEqual(calc.minus(), 4)
self.assertEqual(calc.multiply(), 12)
self.assertEqual(calc.div(), 3)

if __name__ == "__main__":
unittest.main()
29 changes: 15 additions & 14 deletions assignments/calculator/solutions/mirpulatov/web-calc/app.py
Original file line number Diff line number Diff line change
@@ -1,31 +1,32 @@
from flask import Flask, render_template, request
from calc import Calculator

app = Flask(__name__)


@app.route('/')
def calc():
def home():
return render_template('calc.html')


@app.route('/', methods=['POST'])
def calc_post():
def home_post():
res = request.form
try:
first = int(res['first'])
second = int(res['second'])
except ValueError as e:
return e
if res['action'] == 'Add':
return str(first + second)
elif res['action'] == 'Subtract':
return str(first - second)
elif res['action'] == 'Multiply':
return str(first * second)
elif res['action'] == 'Divide':
if second == 0:
return "Division by zero"
return str(first / second)
calc = Calculator(first, second)
try:
if res['action'] == 'Add':
return 'Result: {}'.format(calc.plus())
elif res['action'] == 'Subtract':
return 'Result: {}'.format(calc.minus())
elif res['action'] == 'Multiply':
return 'Result: {}'.format(calc.multiply())
elif res['action'] == 'Divide':
return 'Result: {}'.format(calc.div())
except Exception as e:
print(e)


if __name__ == '__main__':
Expand Down
20 changes: 20 additions & 0 deletions assignments/calculator/solutions/mirpulatov/web-calc/calc.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
class Calculator:

def __init__(self, x, y):
self.x = x
self.y = y

def plus(self):
return self.x + self.y

def minus(self):
return self.x - self.y

def multiply(self):
return self.x * self.y

def div(self):
if self.y == 0:
print('Division by zero!')
else:
return self.x / self.y
15 changes: 15 additions & 0 deletions assignments/calculator/solutions/mirpulatov/web-calc/test.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import unittest
from calc import Calculator

calc = Calculator(6, 2)

class SimpleTest(unittest.TestCase):

def testCalculation(self):
self.assertEqual(calc.plus(), 8)
self.assertEqual(calc.minus(), 4)
self.assertEqual(calc.multiply(), 12)
self.assertEqual(calc.div(), 3)

if __name__ == "__main__":
unittest.main()