-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPython_calculator.py
More file actions
94 lines (75 loc) · 2.62 KB
/
Python_calculator.py
File metadata and controls
94 lines (75 loc) · 2.62 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
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 x / y
else:
return "Cannot divide by zero"
def power(x, y):
return x ** y
def square_root(x):
return math.sqrt(x)
def factorial(x):
return math.factorial(x)
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 log(x, base):
return math.log(x, base)
def calculate():
print("Advanced Calculator:")
print("Available operations:")
print("1. Basic Operations (+, -, *, /)")
print("2. Exponentiation (^)")
print("3. Square Root (√)")
print("4. Factorial (!)")
print("5. Trigonometric Functions (sin, cos, tan)")
print("6. Logarithm (log)")
print("7. Exit")
while True:
choice = input("Enter choice (1-7): ")
if choice == '7':
print("Exiting the calculator.")
break
if choice in ('1', '2', '3', '4', '5', '6'):
try:
if choice in ('1', '2', '3', '4'):
num1 = float(input("Enter first number: "))
num2 = float(input("Enter second number: "))
if choice == '1':
result = add(num1, num2)
elif choice == '2':
result = power(num1, num2)
elif choice == '3':
result = square_root(num1)
elif choice == '4':
result = factorial(num1)
elif choice == '5':
angle = float(input("Enter angle in degrees: "))
if angle.is_integer():
angle = int(angle)
if angle % 90 == 0 and (angle // 90) % 2 == 1:
print("Invalid input for tangent. Exiting.")
return
result = sin(angle)
elif choice == '6':
base = float(input("Enter logarithm base: "))
if base <= 0 or base == 1:
print("Invalid input for logarithm base. Exiting.")
return
num1 = float(input("Enter number: "))
result = log(num1, base)
print(f"Result: {result}")
except Exception as e:
print(f"Error: {e}")
else:
print("Invalid input. Please enter a valid choice.")
calculate()