Chapter 5. Conditionals and Recursion
The main topic of this chapter is the if statement, which executes different code depending on the state of the program. But first I want to introduce two new operators: floor division and modulus.
Floor Division and Modulus
The floor division operator, //, divides two numbers and rounds down to an integer. For example, suppose the run time of a movie is 105 minutes. You might want to know how long that is in hours. Conventional division returns a floating-point number:
>>> minutes = 105 >>> minutes / 60 1.75
But we don’t normally write hours with decimal points. Floor division returns the integer number of hours, rounding down:
>>> minutes = 105 >>> hours = minutes // 60 >>> hours 1
To get the remainder, you could subtract off one hour in minutes:
>>> remainder = minutes - hours * 60 >>> remainder 45
An alternative is to use the modulus operator, %, which divides two numbers and returns the remainder:
>>> remainder = minutes % 60 >>> remainder 45
The modulus operator is more useful than it seems. 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.
If you are using Python 2, division works differently. The division operator, /, performs floor division if both operands are integers, and floating-point division ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access