# Project 1: Basic Calculator

## 1. Setting Up the Main Framework

Welcome to your first project: the Basic Calculator! This exciting and engaging project is a wonderful opportunity for you to apply and showcase all the foundational Python knowledge and skills you have acquired through Part I of your learning journey.

Building a calculator from scratch may initially appear straightforward, but it is a valuable exercise that will deepen your understanding of Python's fundamental concepts, data types, and control structures. By immersing yourself in this project, you will solidify your grasp of programming fundamentals and gain confidence in your ability to solve problems using Python.

Furthermore, completing this project will not only enhance your portfolio but also serve as a testament to your dedication and determination in mastering Python programming. So, let's embark on this exciting journey and create a powerful and versatile calculator that will demonstrate your expertise and set you on a path to even greater achievements in the world of programming.

Our calculator will be able to:

- Perform basic arithmetic operations (addition, subtraction, multiplication, and division).
- Handle invalid inputs gracefully without crashing.
- Allow the user to perform multiple calculations or exit the program.

Before we dive into creating functions for each arithmetic operation, let's set up the main structure of our calculator. This will involve prompting the user for input, handling those inputs, and deciding which operation to perform.

`def main():`

while True:

# Display options to the user

print("Options:")

print("Enter 'add' for addition")

print("Enter 'subtract' for subtraction")

print("Enter 'multiply' for multiplication")

print("Enter 'divide' for division")

print("Enter 'quit' to end the program")

user_input = input(": ")

# Exit loop and program if user chooses 'quit'

if user_input == 'quit':

break

# Ensure valid operation choice

if user_input in ('add', 'subtract', 'multiply', 'divide'):

# Ask user for numbers

x = float(input("Enter first number: "))

y = float(input("Enter second number: "))

# TODO: Perform operation and display result

else:

print("Invalid Input")

if __name__ == "__main__":

main()

When you run the above code, you'll notice we've set up a continuous loop using the `while True:`

statement. This allows the user to keep performing calculations until they decide to exit by typing `quit`

. The structure is quite straightforward: we display the operation options to the user, ask for their choice, and then, based on their selection, we'll proceed (in our future steps) to perform the arithmetic operation.

At this stage, if you run the program, it will ask you for an operation and two numbers but won't do anything with those numbers yet. That's our next step!

Note: We use `float(input())`

to ensure we can handle decimal numbers as well. Always remember that `input()`

returns a string, so it's essential to convert this to a number type (like float) before performing arithmetic operations.

## 1. Setting Up the Main Framework

Welcome to your first project: the Basic Calculator! This exciting and engaging project is a wonderful opportunity for you to apply and showcase all the foundational Python knowledge and skills you have acquired through Part I of your learning journey.

Building a calculator from scratch may initially appear straightforward, but it is a valuable exercise that will deepen your understanding of Python's fundamental concepts, data types, and control structures. By immersing yourself in this project, you will solidify your grasp of programming fundamentals and gain confidence in your ability to solve problems using Python.

Furthermore, completing this project will not only enhance your portfolio but also serve as a testament to your dedication and determination in mastering Python programming. So, let's embark on this exciting journey and create a powerful and versatile calculator that will demonstrate your expertise and set you on a path to even greater achievements in the world of programming.

Our calculator will be able to:

- Perform basic arithmetic operations (addition, subtraction, multiplication, and division).
- Handle invalid inputs gracefully without crashing.
- Allow the user to perform multiple calculations or exit the program.

Before we dive into creating functions for each arithmetic operation, let's set up the main structure of our calculator. This will involve prompting the user for input, handling those inputs, and deciding which operation to perform.

`def main():`

while True:

# Display options to the user

print("Options:")

print("Enter 'add' for addition")

print("Enter 'subtract' for subtraction")

print("Enter 'multiply' for multiplication")

print("Enter 'divide' for division")

print("Enter 'quit' to end the program")

user_input = input(": ")

# Exit loop and program if user chooses 'quit'

if user_input == 'quit':

break

# Ensure valid operation choice

if user_input in ('add', 'subtract', 'multiply', 'divide'):

# Ask user for numbers

x = float(input("Enter first number: "))

y = float(input("Enter second number: "))

# TODO: Perform operation and display result

else:

print("Invalid Input")

if __name__ == "__main__":

main()

When you run the above code, you'll notice we've set up a continuous loop using the `while True:`

statement. This allows the user to keep performing calculations until they decide to exit by typing `quit`

. The structure is quite straightforward: we display the operation options to the user, ask for their choice, and then, based on their selection, we'll proceed (in our future steps) to perform the arithmetic operation.

At this stage, if you run the program, it will ask you for an operation and two numbers but won't do anything with those numbers yet. That's our next step!

Note: We use `float(input())`

to ensure we can handle decimal numbers as well. Always remember that `input()`

returns a string, so it's essential to convert this to a number type (like float) before performing arithmetic operations.

## 1. Setting Up the Main Framework

Welcome to your first project: the Basic Calculator! This exciting and engaging project is a wonderful opportunity for you to apply and showcase all the foundational Python knowledge and skills you have acquired through Part I of your learning journey.

Building a calculator from scratch may initially appear straightforward, but it is a valuable exercise that will deepen your understanding of Python's fundamental concepts, data types, and control structures. By immersing yourself in this project, you will solidify your grasp of programming fundamentals and gain confidence in your ability to solve problems using Python.

Furthermore, completing this project will not only enhance your portfolio but also serve as a testament to your dedication and determination in mastering Python programming. So, let's embark on this exciting journey and create a powerful and versatile calculator that will demonstrate your expertise and set you on a path to even greater achievements in the world of programming.

Our calculator will be able to:

- Perform basic arithmetic operations (addition, subtraction, multiplication, and division).
- Handle invalid inputs gracefully without crashing.
- Allow the user to perform multiple calculations or exit the program.

Before we dive into creating functions for each arithmetic operation, let's set up the main structure of our calculator. This will involve prompting the user for input, handling those inputs, and deciding which operation to perform.

`def main():`

while True:

# Display options to the user

print("Options:")

print("Enter 'add' for addition")

print("Enter 'subtract' for subtraction")

print("Enter 'multiply' for multiplication")

print("Enter 'divide' for division")

print("Enter 'quit' to end the program")

user_input = input(": ")

# Exit loop and program if user chooses 'quit'

if user_input == 'quit':

break

# Ensure valid operation choice

if user_input in ('add', 'subtract', 'multiply', 'divide'):

# Ask user for numbers

x = float(input("Enter first number: "))

y = float(input("Enter second number: "))

# TODO: Perform operation and display result

else:

print("Invalid Input")

if __name__ == "__main__":

main()

When you run the above code, you'll notice we've set up a continuous loop using the `while True:`

statement. This allows the user to keep performing calculations until they decide to exit by typing `quit`

. The structure is quite straightforward: we display the operation options to the user, ask for their choice, and then, based on their selection, we'll proceed (in our future steps) to perform the arithmetic operation.

At this stage, if you run the program, it will ask you for an operation and two numbers but won't do anything with those numbers yet. That's our next step!

Note: We use `float(input())`

to ensure we can handle decimal numbers as well. Always remember that `input()`

returns a string, so it's essential to convert this to a number type (like float) before performing arithmetic operations.

## 1. Setting Up the Main Framework

Our calculator will be able to:

- Perform basic arithmetic operations (addition, subtraction, multiplication, and division).
- Handle invalid inputs gracefully without crashing.
- Allow the user to perform multiple calculations or exit the program.

`def main():`

while True:

# Display options to the user

print("Options:")

print("Enter 'add' for addition")

print("Enter 'subtract' for subtraction")

print("Enter 'multiply' for multiplication")

print("Enter 'divide' for division")

print("Enter 'quit' to end the program")

user_input = input(": ")

# Exit loop and program if user chooses 'quit'

if user_input == 'quit':

break

# Ensure valid operation choice

if user_input in ('add', 'subtract', 'multiply', 'divide'):

# Ask user for numbers

x = float(input("Enter first number: "))

y = float(input("Enter second number: "))

# TODO: Perform operation and display result

else:

print("Invalid Input")

if __name__ == "__main__":

main()

`while True:`

statement. This allows the user to keep performing calculations until they decide to exit by typing `quit`

. The structure is quite straightforward: we display the operation options to the user, ask for their choice, and then, based on their selection, we'll proceed (in our future steps) to perform the arithmetic operation.

`float(input())`

to ensure we can handle decimal numbers as well. Always remember that `input()`

returns a string, so it's essential to convert this to a number type (like float) before performing arithmetic operations.