-
Notifications
You must be signed in to change notification settings - Fork 0
/
shell_calculator.py
81 lines (57 loc) · 2.06 KB
/
shell_calculator.py
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
"""
shell_calculator.py
Capabilities:
Can do simple calculator tasks
Limitations:
One calculation at a time
Only accept to integers
Will keep on asking if the user will input invalid data
Improvements:
If the user just pressed enter in the 'Enter Choice' input, the app will crash
"""
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):
return x / y
def remainder(x, y):
return x % y
print('\nSelect Operation')
print('1. Add')
print('2. Subtract')
print('3. Multiply')
print('4. Divide')
print('5. Modulus\n')
while True:
# Take input from the user
choice = input('Enter choice (1/2/3/4/5): ')
# Check if choice is one of the 5 options
if choice in ('1', '2', '3', '4', '5'):
num1 = float(input('\tEnter first number: '))
num2 = float(input('\tEnter second number: '))
if choice == '1':
print(f'\t\tSolution: {num1:,} + {num2:,} = {add(num1, num2):,}\n')
elif choice == '2':
print(f'\t\tSolution: {num1:,} - {num2:,} = {subtract(num1, num2):,}\n')
elif choice == '3':
print(f'\tSolution: {num1:,} * {num2:,} = {multiply(num1, num2):,}\n')
elif choice == '4':
print(f'\tSolution: {num1:,} / {num2:,} = {divide(num1, num2):,}\n')
elif choice == '5':
print(f'\tSolution: {num1:,} % {num2:,} = {remainder(num1, num2):,}\n')
# Check if the user wants another calculation. If 'No', break the loop.
next_calculation = input("Let's do next calculation? (yes/no): ")
if next_calculation == 'no':
print('\nGoodbye...')
break
else:
print('\nSelect Operation')
print('1. Add')
print('2. Subtract')
print('3. Multiply')
print('4. Divide')
print('5. Modulus')
print('\nInvalid Input: Please enter one of the choices: 1,2,3,4, or 5 only.\n')