import math
def add(x, y):
return x + y
def subtract(x, y):
return x - y
def multiply(x, y):
return x * y
def divide(x, y):
if y == 0:
return "Error: Division by zero!"
return x / y
def square_root(x):
return math.sqrt(x)
def power(x, y):
return x ** y
def factorial(x):
if x < 0:
return "Error: Factorial of a negative number is not defined!"
if x == 0:
return 1
return x * factorial(x-1)
def sin(x):
return math.sin(math.radians(x))
def cos(x):
return math.cos(math.radians(x))
def tan(x):
return math.tan(math.radians(x))
def arcsin(x):
return math.degrees(math.asin(x))
def arccos(x):
return math.degrees(math.acos(x))
def arctan(x):
return math.degrees(math.atan(x))
def log(x):
return math.log10(x)
def natural_log(x):
return math.log(x)
def main():
while True:
print("\nScientific Calculator")
print("1. Add")
print("2. Subtract")
print("3. Multiply")
print("4. Divide")
print("5. Square Root")
print("6. Power")
print("7. Factorial")
print("8. Sin")
print("9. Cos")
print("10. Tan")
print("11. Arcsin")
print("12. Arccos")
print("13. Arctan")
print("14. Log")
print("15. Natural Log")
print("0. Exit")
choice = input("Enter operation number: ")
if choice == '0':
break
if choice in ['5', '7', '8', '9', '10', '11', '12', '13', '14', '15']:
num = float(input("Enter number: "))
else:
num1 = float(input("Enter first number: "))
num2 = float(input("Enter second number: "))
if choice == '1':
print("Result:", add(num1, num2))
elif choice == '2':
print("Result:", subtract(num1, num2))
elif choice == '3':
print("Result:", multiply(num1, num2))
elif choice == '4':
print("Result:", divide(num1, num2))
elif choice == '5':
print("Result:", square_root(num))
elif choice == '6':
print("Result:", power(num1, num2))
elif choice == '7':
print("Result:", factorial(num))
elif choice == '8':
print("Result:", sin(num))
elif choice == '9':
print("Result:", cos(num))
elif choice == '10':
print("Result:", tan(num))
elif choice == '11':
print("Result:", arcsin(num))
elif choice == '12':
print("Result:", arccos(num))
elif choice == '13':
print("Result:", arctan(num))
elif choice == '14':
print("Result:", log(num))
elif choice == '15':
print("Result:", natural_log(num))
else:
print("Invalid choice. Please try again.")
if __name__ == "__main__":
main()