Chapter 16: Arithmetic Operators
Part 1: What Are Arithmetic Operators?
Arithmetic operators are symbols used in programming to perform common mathematical operations on numeric values (operands). They take one or two numbers, perform a specific calculation, and return a new number as the result.
Think of them as the basic functions on a calculator: addition, subtraction, multiplication, and division. But programming gives us a few extra, incredibly useful tools as well.
Part 2: Meet the Family: Your Arithmetic Toolbox
Let’s introduce each operator with its symbol, name, and a simple example. We’ll use Python for our examples, as its syntax is clean and readable, but the concepts apply to almost every language.
| Operator | Name | Description | Example | Result |
|---|---|---|---|---|
+ |
Addition | Adds two numbers together. | 5 + 3 |
8 |
- |
Subtraction | Subtracts the second number from the first. | 10 - 4 |
6 |
* |
Multiplication | Multiplies two numbers. | 6 * 7 |
42 |
/ |
Division | Divides the first number by the second. (In Python 3+, this always returns a floating-point number). | 15 / 4 |
3.75 |
// |
Floor Division | Divides and returns the largest whole number less than or equal to the result. It’s like division that rounds down to the nearest integer. | 15 // 4 |
3 |
% |
Modulo (or Remainder) | Divides and returns the remainder of the division. | 15 % 4 |
3 |
** |
Exponentiation | Raises the first number to the power of the second. | 2 ** 3 |
8 |
Now, let’s explore each one in detail.
Part 3: The Core Four: +, -, *, /
These are the operators you’re already familiar with from basic math. They work exactly as you’d expect.
|
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
a <span class="token operator">=</span> <span class="token number">10</span> b <span class="token operator">=</span> <span class="token number">3</span> <span class="token comment"># Addition</span> sum_result <span class="token operator">=</span> a <span class="token operator">+</span> b <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"</span><span class="token interpolation"><span class="token punctuation">{</span>a<span class="token punctuation">}</span></span><span class="token string"> + </span><span class="token interpolation"><span class="token punctuation">{</span>b<span class="token punctuation">}</span></span><span class="token string"> = </span><span class="token interpolation"><span class="token punctuation">{</span>sum_result<span class="token punctuation">}</span></span><span class="token string">"</span></span><span class="token punctuation">)</span> <span class="token comment"># Subtraction</span> difference_result <span class="token operator">=</span> a <span class="token operator">-</span> b <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"</span><span class="token interpolation"><span class="token punctuation">{</span>a<span class="token punctuation">}</span></span><span class="token string"> - </span><span class="token interpolation"><span class="token punctuation">{</span>b<span class="token punctuation">}</span></span><span class="token string"> = </span><span class="token interpolation"><span class="token punctuation">{</span>difference_result<span class="token punctuation">}</span></span><span class="token string">"</span></span><span class="token punctuation">)</span> <span class="token comment"># Multiplication</span> product_result <span class="token operator">=</span> a <span class="token operator">*</span> b <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"</span><span class="token interpolation"><span class="token punctuation">{</span>a<span class="token punctuation">}</span></span><span class="token string"> * </span><span class="token interpolation"><span class="token punctuation">{</span>b<span class="token punctuation">}</span></span><span class="token string"> = </span><span class="token interpolation"><span class="token punctuation">{</span>product_result<span class="token punctuation">}</span></span><span class="token string">"</span></span><span class="token punctuation">)</span> <span class="token comment"># Division (Note: always returns a float)</span> division_result <span class="token operator">=</span> a <span class="token operator">/</span> b <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"</span><span class="token interpolation"><span class="token punctuation">{</span>a<span class="token punctuation">}</span></span><span class="token string"> / </span><span class="token interpolation"><span class="token punctuation">{</span>b<span class="token punctuation">}</span></span><span class="token string"> = </span><span class="token interpolation"><span class="token punctuation">{</span>division_result<span class="token punctuation">}</span></span><span class="token string">"</span></span><span class="token punctuation">)</span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"Type of division result: </span><span class="token interpolation"><span class="token punctuation">{</span><span class="token builtin">type</span><span class="token punctuation">(</span>division_result<span class="token punctuation">)</span><span class="token punctuation">}</span></span><span class="token string">"</span></span><span class="token punctuation">)</span> <span class="token comment"># <class 'float'></span> |
Important Note on Division: In some older languages (like Python 2), dividing two integers would perform “integer division” and truncate the result (e.g., 15 / 4 would be 3). In modern languages like Python 3, the / operator always returns a floating-point number, which is much more intuitive for beginners.
Part 4: The Specialist: Floor Division (//)
Floor division is like regular division, but it always rounds the answer down to the nearest whole number. It’s not the same as simply dropping the decimal part, especially when dealing with negative numbers.
Think of it as dividing and then taking the floor of the result (the greatest integer less than or equal to it).
|
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<span class="token comment"># Positive numbers</span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"15 // 4 = </span><span class="token interpolation"><span class="token punctuation">{</span><span class="token number">15</span> <span class="token operator">//</span> <span class="token number">4</span><span class="token punctuation">}</span></span><span class="token string">"</span></span><span class="token punctuation">)</span> <span class="token comment"># Output: 3 (3.75 floors to 3)</span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"9 // 2 = </span><span class="token interpolation"><span class="token punctuation">{</span><span class="token number">9</span> <span class="token operator">//</span> <span class="token number">2</span><span class="token punctuation">}</span></span><span class="token string">"</span></span><span class="token punctuation">)</span> <span class="token comment"># Output: 4 (4.5 floors to 4)</span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"4 // 5 = </span><span class="token interpolation"><span class="token punctuation">{</span><span class="token number">4</span> <span class="token operator">//</span> <span class="token number">5</span><span class="token punctuation">}</span></span><span class="token string">"</span></span><span class="token punctuation">)</span> <span class="token comment"># Output: 0 (0.8 floors to 0)</span> <span class="token comment"># Negative numbers - This is where it's different!</span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"15 // -4 = </span><span class="token interpolation"><span class="token punctuation">{</span><span class="token number">15</span> <span class="token operator">//</span> <span class="token operator">-</span><span class="token number">4</span><span class="token punctuation">}</span></span><span class="token string">"</span></span><span class="token punctuation">)</span> <span class="token comment"># Output: -4 ( -3.75 floors to -4, not -3!)</span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"-9 // 2 = </span><span class="token interpolation"><span class="token punctuation">{</span><span class="token operator">-</span><span class="token number">9</span> <span class="token operator">//</span> <span class="token number">2</span><span class="token punctuation">}</span></span><span class="token string">"</span></span><span class="token punctuation">)</span> <span class="token comment"># Output: -5 ( -4.5 floors to -5)</span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"-9 // -2 = </span><span class="token interpolation"><span class="token punctuation">{</span><span class="token operator">-</span><span class="token number">9</span> <span class="token operator">//</span> <span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">}</span></span><span class="token string">"</span></span><span class="token punctuation">)</span> <span class="token comment"># Output: 4 ( 4.5 floors to 4)</span> |
Instructor’s Note: The behavior with negative numbers can be surprising at first. The key is to remember it always rounds down (towards negative infinity), not towards zero. -3.75 rounded down is -4.
Part 5: The Remainder Expert: Modulo (%)
The modulo operator gives you the remainder after division. It’s incredibly useful for a surprising number of tasks. Think of it as asking the question: “After dividing these two numbers as evenly as possible, how much is left over?”
|
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<span class="token comment"># Simple examples</span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"15 % 4 = </span><span class="token interpolation"><span class="token punctuation">{</span><span class="token number">15</span> <span class="token operator">%</span> <span class="token number">4</span><span class="token punctuation">}</span></span><span class="token string">"</span></span><span class="token punctuation">)</span> <span class="token comment"># Output: 3 (4 goes into 15 three times, with 3 left over)</span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"9 % 2 = </span><span class="token interpolation"><span class="token punctuation">{</span><span class="token number">9</span> <span class="token operator">%</span> <span class="token number">2</span><span class="token punctuation">}</span></span><span class="token string">"</span></span><span class="token punctuation">)</span> <span class="token comment"># Output: 1 (2*4=8, remainder 1)</span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"4 % 5 = </span><span class="token interpolation"><span class="token punctuation">{</span><span class="token number">4</span> <span class="token operator">%</span> <span class="token number">5</span><span class="token punctuation">}</span></span><span class="token string">"</span></span><span class="token punctuation">)</span> <span class="token comment"># Output: 4 (5 goes into 4 zero times, remainder 4)</span> <span class="token comment"># Negative numbers</span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"15 % -4 = </span><span class="token interpolation"><span class="token punctuation">{</span><span class="token number">15</span> <span class="token operator">%</span> <span class="token operator">-</span><span class="token number">4</span><span class="token punctuation">}</span></span><span class="token string">"</span></span><span class="token punctuation">)</span> <span class="token comment"># Output: -1? Let's check.</span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"-9 % 2 = </span><span class="token interpolation"><span class="token punctuation">{</span><span class="token operator">-</span><span class="token number">9</span> <span class="token operator">%</span> <span class="token number">2</span><span class="token punctuation">}</span></span><span class="token string">"</span></span><span class="token punctuation">)</span> <span class="token comment"># Output: 1? Let's see.</span> <span class="token comment"># The sign of the result is usually the sign of the divisor (the second number).</span> <span class="token comment"># The relationship is: a = (a // b) * b + (a % b)</span> <span class="token comment"># For 15 % -4: 15 = (15 // -4) * -4 + (15 % -4) -> 15 = (-4) * -4 + (-1) -> 15 = 16 + (-1) -> 15 = 15. So result is -1.</span> |
Practical Uses of Modulo:
-
Checking if a number is even or odd: This is the most classic use case.
pythonPHP012345678910number <span class="token operator">=</span> <span class="token number">7</span><span class="token keyword">if</span> number <span class="token operator">%</span> <span class="token number">2</span> <span class="token operator">==</span> <span class="token number">0</span><span class="token punctuation">:</span><span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"</span><span class="token interpolation"><span class="token punctuation">{</span>number<span class="token punctuation">}</span></span><span class="token string"> is even."</span></span><span class="token punctuation">)</span><span class="token keyword">else</span><span class="token punctuation">:</span><span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"</span><span class="token interpolation"><span class="token punctuation">{</span>number<span class="token punctuation">}</span></span><span class="token string"> is odd."</span></span><span class="token punctuation">)</span> -
Working with cycles: Imagine you have a list of 3 items and you want to cycle through them endlessly. You can use an index and the modulo operator.
pythonPHP0123456789colors <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token string">"red"</span><span class="token punctuation">,</span> <span class="token string">"green"</span><span class="token punctuation">,</span> <span class="token string">"blue"</span><span class="token punctuation">]</span><span class="token keyword">for</span> i <span class="token keyword">in</span> <span class="token builtin">range</span><span class="token punctuation">(</span><span class="token number">10</span><span class="token punctuation">)</span><span class="token punctuation">:</span>color_index <span class="token operator">=</span> i <span class="token operator">%</span> <span class="token builtin">len</span><span class="token punctuation">(</span>colors<span class="token punctuation">)</span><span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"Iteration </span><span class="token interpolation"><span class="token punctuation">{</span>i<span class="token punctuation">}</span></span><span class="token string">: </span><span class="token interpolation"><span class="token punctuation">{</span>colors<span class="token punctuation">[</span>color_index<span class="token punctuation">]</span><span class="token punctuation">}</span></span><span class="token string">"</span></span><span class="token punctuation">)</span>This will print red, green, blue, red, green, blue, etc.
-
Checking divisibility: Is a number divisible by another?
number % divisor == 0. -
Extracting digits: Need the last digit of a number?
number % 10gives it to you.
Part 6: The Power User: Exponentiation (**)
This operator raises a number to a power. It’s much cleaner than writing x * x * x for cubes.
|
0 1 2 3 4 5 6 7 8 9 10 |
<span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"2 ** 3 = </span><span class="token interpolation"><span class="token punctuation">{</span><span class="token number">2</span> <span class="token operator">**</span> <span class="token number">3</span><span class="token punctuation">}</span></span><span class="token string">"</span></span><span class="token punctuation">)</span> <span class="token comment"># 2 to the power of 3 (2*2*2) = 8</span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"5 ** 2 = </span><span class="token interpolation"><span class="token punctuation">{</span><span class="token number">5</span> <span class="token operator">**</span> <span class="token number">2</span><span class="token punctuation">}</span></span><span class="token string">"</span></span><span class="token punctuation">)</span> <span class="token comment"># 5 squared = 25</span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"10 ** 4 = </span><span class="token interpolation"><span class="token punctuation">{</span><span class="token number">10</span> <span class="token operator">**</span> <span class="token number">4</span><span class="token punctuation">}</span></span><span class="token string">"</span></span><span class="token punctuation">)</span> <span class="token comment"># 10 to the 4th power = 10000</span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"9 ** 0.5 = </span><span class="token interpolation"><span class="token punctuation">{</span><span class="token number">9</span> <span class="token operator">**</span> <span class="token number">0.5</span><span class="token punctuation">}</span></span><span class="token string">"</span></span><span class="token punctuation">)</span> <span class="token comment"># Square root using exponent 0.5 = 3.0</span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"27 ** (1/3) = </span><span class="token interpolation"><span class="token punctuation">{</span><span class="token number">27</span> <span class="token operator">**</span> <span class="token punctuation">(</span><span class="token number">1</span><span class="token operator">/</span><span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">}</span></span><span class="token string">"</span></span><span class="token punctuation">)</span> <span class="token comment"># Cube root = 3.0</span> |
Part 7: Operator Precedence (Order of Operations)
Just like in mathematics, arithmetic operators follow a specific order when they appear together in an expression. You might remember PEMDAS or BODMAS from school. Programming has a similar, well-defined precedence.
-
Parentheses
() -
Exponentiation
** -
Multiplication
*, Division/, Floor Division//, Modulo%(all have the same precedence, evaluated left to right) -
Addition
+, Subtraction-(evaluated left to right)
The most important rule: When in doubt, use parentheses! They make your intention clear to both the computer and anyone reading your code.
|
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<span class="token comment"># Without parentheses, multiplication happens before addition</span> result1 <span class="token operator">=</span> <span class="token number">5</span> <span class="token operator">+</span> <span class="token number">3</span> <span class="token operator">*</span> <span class="token number">2</span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"5 + 3 * 2 = </span><span class="token interpolation"><span class="token punctuation">{</span>result1<span class="token punctuation">}</span></span><span class="token string">"</span></span><span class="token punctuation">)</span> <span class="token comment"># Output: 11 (3*2=6, 5+6=11)</span> <span class="token comment"># With parentheses, addition happens first</span> result2 <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token number">5</span> <span class="token operator">+</span> <span class="token number">3</span><span class="token punctuation">)</span> <span class="token operator">*</span> <span class="token number">2</span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"(5 + 3) * 2 = </span><span class="token interpolation"><span class="token punctuation">{</span>result2<span class="token punctuation">}</span></span><span class="token string">"</span></span><span class="token punctuation">)</span> <span class="token comment"># Output: 16 (5+3=8, 8*2=16)</span> <span class="token comment"># A more complex example</span> result3 <span class="token operator">=</span> <span class="token number">10</span> <span class="token operator">+</span> <span class="token number">5</span> <span class="token operator">**</span> <span class="token number">2</span> <span class="token operator">-</span> <span class="token number">8</span> <span class="token operator">/</span> <span class="token number">2</span> <span class="token operator">*</span> <span class="token number">3</span> <span class="token comment"># Step 1: 5 ** 2 = 25 -> Expression: 10 + 25 - 8 / 2 * 3</span> <span class="token comment"># Step 2: 8 / 2 = 4.0 -> Expression: 10 + 25 - 4.0 * 3</span> <span class="token comment"># Step 3: 4.0 * 3 = 12.0 -> Expression: 10 + 25 - 12.0</span> <span class="token comment"># Step 4: 10 + 25 = 35 -> Expression: 35 - 12.0</span> <span class="token comment"># Step 5: 35 - 12.0 = 23.0</span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"10 + 5 ** 2 - 8 / 2 * 3 = </span><span class="token interpolation"><span class="token punctuation">{</span>result3<span class="token punctuation">}</span></span><span class="token string">"</span></span><span class="token punctuation">)</span> |
Part 8: Practical, Real-World Examples
Let’s see how these operators come together to solve real problems.
Example 1: Building a Simple Calculator
|
0 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 |
<span class="token comment"># Get input from the user</span> num1 <span class="token operator">=</span> <span class="token builtin">float</span><span class="token punctuation">(</span><span class="token builtin">input</span><span class="token punctuation">(</span><span class="token string">"Enter the first number: "</span><span class="token punctuation">)</span><span class="token punctuation">)</span> num2 <span class="token operator">=</span> <span class="token builtin">float</span><span class="token punctuation">(</span><span class="token builtin">input</span><span class="token punctuation">(</span><span class="token string">"Enter the second number: "</span><span class="token punctuation">)</span><span class="token punctuation">)</span> operation <span class="token operator">=</span> <span class="token builtin">input</span><span class="token punctuation">(</span><span class="token string">"Enter operation (+, -, *, /, //, %, **): "</span><span class="token punctuation">)</span> <span class="token comment"># Perform the calculation based on the operator</span> <span class="token keyword">if</span> operation <span class="token operator">==</span> <span class="token string">"+"</span><span class="token punctuation">:</span> result <span class="token operator">=</span> num1 <span class="token operator">+</span> num2 <span class="token keyword">elif</span> operation <span class="token operator">==</span> <span class="token string">"-"</span><span class="token punctuation">:</span> result <span class="token operator">=</span> num1 <span class="token operator">-</span> num2 <span class="token keyword">elif</span> operation <span class="token operator">==</span> <span class="token string">"*"</span><span class="token punctuation">:</span> result <span class="token operator">=</span> num1 <span class="token operator">*</span> num2 <span class="token keyword">elif</span> operation <span class="token operator">==</span> <span class="token string">"/"</span><span class="token punctuation">:</span> <span class="token keyword">if</span> num2 <span class="token operator">!=</span> <span class="token number">0</span><span class="token punctuation">:</span> result <span class="token operator">=</span> num1 <span class="token operator">/</span> num2 <span class="token keyword">else</span><span class="token punctuation">:</span> result <span class="token operator">=</span> <span class="token string">"Error: Division by zero!"</span> <span class="token keyword">elif</span> operation <span class="token operator">==</span> <span class="token string">"//"</span><span class="token punctuation">:</span> <span class="token keyword">if</span> num2 <span class="token operator">!=</span> <span class="token number">0</span><span class="token punctuation">:</span> result <span class="token operator">=</span> num1 <span class="token operator">//</span> num2 <span class="token keyword">else</span><span class="token punctuation">:</span> result <span class="token operator">=</span> <span class="token string">"Error: Division by zero!"</span> <span class="token keyword">elif</span> operation <span class="token operator">==</span> <span class="token string">"%"</span><span class="token punctuation">:</span> <span class="token keyword">if</span> num2 <span class="token operator">!=</span> <span class="token number">0</span><span class="token punctuation">:</span> result <span class="token operator">=</span> num1 <span class="token operator">%</span> num2 <span class="token keyword">else</span><span class="token punctuation">:</span> result <span class="token operator">=</span> <span class="token string">"Error: Division by zero!"</span> <span class="token keyword">elif</span> operation <span class="token operator">==</span> <span class="token string">"**"</span><span class="token punctuation">:</span> result <span class="token operator">=</span> num1 <span class="token operator">**</span> num2 <span class="token keyword">else</span><span class="token punctuation">:</span> result <span class="token operator">=</span> <span class="token string">"Invalid operation"</span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"</span><span class="token interpolation"><span class="token punctuation">{</span>num1<span class="token punctuation">}</span></span> <span class="token interpolation"><span class="token punctuation">{</span>operation<span class="token punctuation">}</span></span> <span class="token interpolation"><span class="token punctuation">{</span>num2<span class="token punctuation">}</span></span><span class="token string"> = </span><span class="token interpolation"><span class="token punctuation">{</span>result<span class="token punctuation">}</span></span><span class="token string">"</span></span><span class="token punctuation">)</span> |
Example 2: Temperature Converter
|
0 1 2 3 4 5 6 7 8 9 |
<span class="token comment"># Convert Celsius to Fahrenheit</span> celsius <span class="token operator">=</span> <span class="token builtin">float</span><span class="token punctuation">(</span><span class="token builtin">input</span><span class="token punctuation">(</span><span class="token string">"Enter temperature in Celsius: "</span><span class="token punctuation">)</span><span class="token punctuation">)</span> fahrenheit <span class="token operator">=</span> <span class="token punctuation">(</span>celsius <span class="token operator">*</span> <span class="token number">9</span><span class="token operator">/</span><span class="token number">5</span><span class="token punctuation">)</span> <span class="token operator">+</span> <span class="token number">32</span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"</span><span class="token interpolation"><span class="token punctuation">{</span>celsius<span class="token punctuation">}</span></span><span class="token string">°C is equal to </span><span class="token interpolation"><span class="token punctuation">{</span>fahrenheit<span class="token punctuation">}</span></span><span class="token string">°F"</span></span><span class="token punctuation">)</span> |
Example 3: Calculating a Restaurant Bill
|
0 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 |
food_cost <span class="token operator">=</span> <span class="token number">45.50</span> tax_rate <span class="token operator">=</span> <span class="token number">0.08</span> <span class="token comment"># 8% tax</span> tip_rate <span class="token operator">=</span> <span class="token number">0.18</span> <span class="token comment"># 18% tip</span> <span class="token comment"># Calculate tax and tip</span> tax_amount <span class="token operator">=</span> food_cost <span class="token operator">*</span> tax_rate tip_amount <span class="token operator">=</span> food_cost <span class="token operator">*</span> tip_rate <span class="token comment"># Calculate total</span> total_bill <span class="token operator">=</span> food_cost <span class="token operator">+</span> tax_amount <span class="token operator">+</span> tip_amount <span class="token comment"># Display the breakdown</span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"Food Cost: $</span><span class="token interpolation"><span class="token punctuation">{</span>food_cost<span class="token punctuation">:</span><span class="token format-spec">.2f</span><span class="token punctuation">}</span></span><span class="token string">"</span></span><span class="token punctuation">)</span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"Tax (8%): $</span><span class="token interpolation"><span class="token punctuation">{</span>tax_amount<span class="token punctuation">:</span><span class="token format-spec">.2f</span><span class="token punctuation">}</span></span><span class="token string">"</span></span><span class="token punctuation">)</span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"Tip (18%): $</span><span class="token interpolation"><span class="token punctuation">{</span>tip_amount<span class="token punctuation">:</span><span class="token format-spec">.2f</span><span class="token punctuation">}</span></span><span class="token string">"</span></span><span class="token punctuation">)</span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"Total: $</span><span class="token interpolation"><span class="token punctuation">{</span>total_bill<span class="token punctuation">:</span><span class="token format-spec">.2f</span><span class="token punctuation">}</span></span><span class="token string">"</span></span><span class="token punctuation">)</span> <span class="token comment"># Split the bill among friends</span> num_friends <span class="token operator">=</span> <span class="token number">4</span> amount_per_person <span class="token operator">=</span> total_bill <span class="token operator">/</span> num_friends <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"Each person pays: $</span><span class="token interpolation"><span class="token punctuation">{</span>amount_per_person<span class="token punctuation">:</span><span class="token format-spec">.2f</span><span class="token punctuation">}</span></span><span class="token string">"</span></span><span class="token punctuation">)</span> |
Example 4: Time Converter
|
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<span class="token comment"># Convert a given number of seconds into hours, minutes, and seconds</span> total_seconds <span class="token operator">=</span> <span class="token number">7384</span> <span class="token comment"># Calculate hours</span> hours <span class="token operator">=</span> total_seconds <span class="token operator">//</span> <span class="token number">3600</span> remaining_seconds <span class="token operator">=</span> total_seconds <span class="token operator">%</span> <span class="token number">3600</span> <span class="token comment"># Calculate minutes</span> minutes <span class="token operator">=</span> remaining_seconds <span class="token operator">//</span> <span class="token number">60</span> seconds <span class="token operator">=</span> remaining_seconds <span class="token operator">%</span> <span class="token number">60</span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"</span><span class="token interpolation"><span class="token punctuation">{</span>total_seconds<span class="token punctuation">}</span></span><span class="token string"> seconds is equal to:"</span></span><span class="token punctuation">)</span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"</span><span class="token interpolation"><span class="token punctuation">{</span>hours<span class="token punctuation">}</span></span><span class="token string"> hours, </span><span class="token interpolation"><span class="token punctuation">{</span>minutes<span class="token punctuation">}</span></span><span class="token string"> minutes, and </span><span class="token interpolation"><span class="token punctuation">{</span>seconds<span class="token punctuation">}</span></span><span class="token string"> seconds"</span></span><span class="token punctuation">)</span> |
Summary: The Arithmetic Operator Philosophy
-
Arithmetic operators are the tools for performing mathematical calculations in code.
-
The core four (
+,-,*,/) work just like basic math. Remember that/often results in a decimal (float). -
Floor division (
//) divides and always rounds down to the nearest integer. This is key to remember with negative numbers. -
Modulo (
%) gives you the remainder of a division. It’s a surprisingly versatile tool for checking even/odd, creating cycles, and more. -
Exponentiation (
**) raises a number to a power, and can also be used for roots. -
Operator precedence matters. Use parentheses
()to make your calculations clear and predictable.
Mastering these operators is like learning to use a hammer, saw, and screwdriver. They are the fundamental tools you will use in almost every program you write. Practice with them, experiment with different combinations, and soon they will become second nature.
