from addition import add
from sub import sub
from multiplication import mul
from division import div
from trigonometry import sin,cos,tan,sin_inv, cos_inv, tan_inv, sinh, cosh,
tanh
from logarithmic import log10,ln,log
from function import squ_root, reciprocal, pow_of_10, square, fact, pow, mod
from matrix import add_matrix, substract_matrix, multiply_matrix
import numpy as np
print("Scientific Calculator")
while True:
print("Choose operation:")
print("1. Addition")
print("2. Substraction")
print("3. Multiplication")
print("4. Division")
print("5. Trigonometry Operation")
print("6. Logarathmic Operation")
print("7. Special Function")
print("8. Matrix Operation")
print("[Link]")
i=input("Enter input(0-8):")
if i=='0':
print("Exiting...")
break
if i in ('1', '2', '3', '4'):
num1=float(input("Enter first number: "))
num2=float(input("Enter second number: "))
if i=='1':
print("Result:",add(num1, num2))
elif i=='2':
print("Result:",sub(num1, num2))
elif i=='3':
print("Result:",mul(num1, num2))
elif i=='4':
print("Result:",div(num1, num2))
elif i=='5':
print("Choose Trigonometry Operation")
print("1. Sine")
print("2. Cosine")
print("3. Tangent")
print("4. Sine Inverse")
print("5. Cosine Inverse")
print("6. Tangent Inverse")
print("7. Hyperbolic Sine")
print("[Link] Cosine")
print("9. Hyperbolic Tangent")
v=input("Enter input(1-9):")
if i in ('1','2','3','7','8','9'):
angle=float(input("Enter value(angle in radian): "))
if v=='1':
print("Result:",sin(angle))
elif v=='2':
print("Result:",cos(angle))
elif v=='3':
print("Result:",tan(angle))
elif v=='4':
value=float(input("Enter value: "))
print("Result:",sin_inv(value))
elif v=='5':
value=float(input("Enter value: "))
print("Result:",cos_inv(value))
elif v=='6':
value=float(input("Enter value: "))
print("Result:",tan_inv(value))
elif v=='7':
print("Result:",sinh(angle))
elif v=='8':
print("Result:",cosh(angle))
elif v=='9':
print("Result:",tanh(angle))
else:
print("Invalid value")
elif i=='6':
print("Choose Logarathmic Operation ")
print("1. Log base 10")
print("2. Log base e")
print("3. Log base custom")
v=input("Enter input(1-3):")
if v in ('1','2'):
value = float(input("Enter the value: "))
if v=='1':
print("Result:",log10(value))
elif v=='2':
print("Result:",ln(value))
elif v=='3':
value = float(input("Enter the value: "))
base = float(input("Enter the base for logarithm calculation: "))
print("Result:",log(value,base))
else:
print("Invalid")
elif i=='7':
print("Choose Special Function")
print("1. Square Root")
print("2. Reciprocal")
print("3. Power Of 10")
print("4. Square")
print("5. Factorial")
print("6. Power of number")
print("7. Remainder")
v=input("Enter input(1-7):")
if v in ('1', '2', '3', '4'):
value=float(input("Enter the value: "))
if v=='1':
print("Result:",squ_root(value))
elif v=='2':
print("Result:",reciprocal(value))
elif v=='3':
print("Result:",pow_of_10(value))
elif v=='4':
print("Result:",square(value))
elif v=='5':
num=int(input("Enter the value: "))
print("Result:",fact(num))
elif v=='6':
num1=float(input("Enter the value: "))
num2=float(input("Enter the value: "))
print("Result:",pow(num1, num2))
elif v=='7':
num1=float(input("Enter the value: "))
num2=float(input("Enter the value: "))
print("Result:",mod(num1, num2))
else:
print("invalid")
elif i=='8':
print("Choose Matrix Operation ")
print("1. Matrix Addition")
print("2. Matrix Substraction")
print("3. Matrix Multiplication")
v=input("Enter input(1-3):")
matrix1=[Link](eval(input("Enter matrix1 as a nested list ")))
matrix2=[Link](eval(input("Enter matrix2 as a nested list ")))
if v=='1':
print("Result:", add_matrix(matrix1, matrix2))
elif v=='2':
print("Result:", substract_matrix(matrix1, matrix2))
elif v=='3':
print("Result:", multiply_matrix(matrix1, matrix2))
else:
print("Not valid")
else:
print("Invalid choice")
import numpy as np
def add_matrix(a, b):
try:
result = [Link](a, b)
return result
except ValueError:
print("Error: Matrix dimensions are not compatible for addition")
def substract_matrix(a, b):
try:
result = [Link](a, b)
return result
except ValueError:
print("Error: Matrix dimensions are not compatible for subtraction")
def multiply_matrix(a, b):
try:
result = [Link](a, b)
return result
except ValueError:
print("Error: Matrix dimensions are not compatible for
multiplication")
import math
def squ_root(a):
return [Link](a)
def reciprocal(a):
try:
return 1/a
except ZeroDivisionError:
return "Zero division is not possible"
def pow_of_10(a):
return 10**a
def square(a):
return a**2
def fact(b):
if b<0:
return "Factorial for negative numbers does not possible"
elif b==0:
return 1
else:
return b*fact(b-1)
def pow(a,b):
return a**b
def mod(a,b):
return a%b
import math
def log10(x):
try:
result=math.log10(x)
except ValueError as e:
result=str(e)
return result
def ln(x):
try:
result=[Link](x)
except ValueError as e:
result=str(e)
return result
def log(x,y):
try:
result=[Link](x,y)
except ValueError as e:
result=str(e)
return result
import math
def sin(angle):
try:
result=[Link](angle)
except ValueError as e:
result=str(e)
return result
def cos(angle):
try:
result=[Link](angle)
except ValueError as e:
result=str(e)
return result
def tan(angle):
try:
result=[Link](angle)
except ValueError as e:
result=str(e)
return result
def sin_inv(x):
try:
result=[Link](x)
except ValueError as e:
result=str(e)
return result
def cos_inv(x):
try:
result=[Link](x)
except ValueError as e:
result=str(e)
return result
def tan_inv(x):
try:
result=[Link](x)
except ValueError as e:
result=str(e)
return result
def sinh(angle):
try:
result=[Link](angle)
except ValueError as e:
result=str(e)
return result
def cosh(angle):
try:
result=[Link](angle)
except ValueError as e:
result=str(e)
return result
def tanh(angle):
try:
result=[Link](angle)
except ValueError as e:
result=str(e)
return result
def mul(a,b):
return a*b
def div(a,b):
try:
return a/b
except ZeroDivisionError:
return "Zero division is not possible"
def add(a,b):
return a+b