2.3. Operators and Operands
2.3. Operators and Operands
The following are all legal Python expressions whose meaning is more or less clear:
20 + 32
5 ** 2
(5 + 9) * (15 - 7)
The tokens + , - , and * , and the use of parentheses for grouping, mean in Python what they mean in
mathematics. The asterisk ( * ) is the token for multiplication, and ** is the token for exponentiation.
Addition, subtraction, multiplication, and exponentiation all do what you expect.
Remember that if we want to see the results of the computation, the program needs to specify that with the
word print . The first three computations occur, but their results are not printed out.
12
In Python 3, which we will be using, the division operator / produces a floating point result (even if the
result is an integer; 4/2 is 2.0 ). If you want truncated division, which ignores the remainder, you can use
the // operator (for example, 5//2 is 2 ).
1.8
0.5555555555555556
1
Pay particular attention to the examples above. Note that 9//5 truncates rather than rounding, so it
produces the value 1 rather 2.
The truncated
division operator, // , also works on floating point numbers. It truncates to the nearest
integer, but still produces a floating point result. Thus 7.0 // 3.0 is 2.0 .
Save & Run Original - 1 of 1 Show in CodeLens
1 print(7.0 / 3.0)
2 print(7.0 // 3.0)
3
2.333333333333333
2.0
The modulus operator, sometimes also called the remainder operator or integer remainder operator
works on integers (and integer expressions) and yields the remainder when the first operand is divided by
the second. In Python, the modulus operator is a percent sign ( % ). The syntax is the same as for other
operators.
2
1
In the above example, 7 divided by 3 is 2 when we use integer division and there is a remainder of 1.
The modulus operator turns out to be surprisingly useful. For example, you can check whether one
number is divisible by another—if x % y is zero, then x is divisible by y . Also, you can extract the right-
most digit or digits from a number. For example, x % 10 yields the right-most digit of x (in base 10).
Similarly x % 100 yields the last two digits.
print(18 / 4)
A. 4.5
B. 5
C. 4
D. 4.0
E. 2
Check Me Compare me
A. 4.5
B. 5
C. 4
D. 4.0
E. 2
Check Me Compare me
✔️ - Yes, even though it truncates, it produces a floating point result because 18.0 is a float
print(18 % 4)
A. 4.25
B. 5
C. 4
D. 2
Check Me Compare me
Mark as Completed
© Copyright 2017 bradleymiller. Created using Runestone (http://runestoneinteractive.org/) 7.1.9. | Back to top