[N00B] What's %?

A

administrata

Hi! it's been about a week learning python!
I've read 'python programming for the absolute begginer'
I don't understand about % like...

107 % 4 = 3
7 % 3 = 1

I'm confused with division :/
Please help me...

thx 4 reading.
 
G

Grant Edwards

I don't understand about % like...

107 % 4 = 3
7 % 3 = 1

It's the modulus operator. It returns the remainder of integer
division. As we used to say in second grade:

4 goes into 107 26 times with 3 left over.

3 goes into 4 2 times with 1 left over.
 
A

Alec Berryman

administrata on 2005-02-10 09:38:41 -0800:
Hi! it's been about a week learning python!
I've read 'python programming for the absolute begginer'
I don't understand about % like...

107 % 4 = 3
7 % 3 = 1

I'm confused with division :/

It's not division; the division operator is '/'. It's the mod
function, which returns the remainder - for example, 7 divided by 3 is
2 remainder 1, so 7 % 3 returns 1.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (NetBSD)

iD8DBQFCC54sAud/2YgchcQRAo0GAJ0al6lQYfEie1YL1Ul9P9tACYuZwACggtGf
bnBmlm25CgcfT0jgsb5C4As=
=ktys
-----END PGP SIGNATURE-----
 
J

Jeremy Jones

administrata said:
Hi! it's been about a week learning python!
I've read 'python programming for the absolute begginer'
I don't understand about % like...

107 % 4 = 3
7 % 3 = 1

I'm confused with division :/
Please help me...

thx 4 reading.
% is the remainder operator (I think it's also called modulus).

107 % 4 == 3
because
107 / 4 == 26 R3

and 7 % 3 == 1
because 7 / 3 == 2 R1


HTH,

Jeremy Jones
 
B

Bruno Desthuilliers

administrata a écrit :
Hi! it's been about a week learning python!
I've read 'python programming for the absolute begginer'
I don't understand about % like...

107 % 4 = 3
7 % 3 = 1

it's the modulo operator (if you don't remember, the modulo is the
remaining of the integer division, ie 5 % 2 = 1)

One of the most commun use is to test wether a number is odd or even:

any_even_number % 2 == 0
any_odd_number % 2 == 1


Note that the % operator is also used for string formating, ie:
"%d modulo %d = %d" % (5, 2, 1)
=> "5 modulo 2 = 1"
Please help me...
HTH
Bruno
 
P

Peter Hansen

Grant said:
It's the modulus operator. It returns the remainder of integer
division. As we used to say in second grade:

4 goes into 107 26 times with 3 left over.

3 goes into 4 2 times with 1 left over.

How long were you stuck in second grade, Grant? <grin>

-Peter

P.S. You're correct, for large values of four.... ;-)
 
H

Harlin

In the mode of anticipating another question... I get these all the
time at work of all places! You'd think IT workers would know the
answer to these...

What good is the modulus operator? What would I ever need it for?

* A quick way of testing whether an integer is even and odd
* For that matter, a quick way of testing whether a the variable is a
factor of any other arbitrary number.
* In some programs (a weight control program I worked on comes to mind)
it's necessary to get a remainder so that you can get the results of a
leftover evenly divisible number.

Regards,

Harlin
 
J

Jeff Shannon

Harlin said:
What good is the modulus operator? What would I ever need it for?

* A quick way of testing whether an integer is even and odd
* For that matter, a quick way of testing whether a the variable is a
factor of any other arbitrary number.
* In some programs (a weight control program I worked on comes to mind)
it's necessary to get a remainder so that you can get the results of a
leftover evenly divisible number.

Also, it's a good way to ensure that some number is in a specified
range, and "wraps around" to the beginning if it goes out of that
range. For a quick & cheesy example, let's say we want to count time
for music:

import time
def beats = ['one', 'two', 'three', 'four']

n = 0
while True:
print beats[n]
n = (n+1) % 4
time.sleep(0.5)

By using '% 4', I ensure that n is always in the interval [0...4)
(including 0 but not including 4).

Modulus is useful for all sorts of periodic behavior.

Jeff Shannon
Technician/Programmer
Credit International
 
D

Dennis Lee Bieber

division. As we used to say in second grade:

4 goes into 107 26 times with 3 left over.

3 goes into 4 2 times with 1 left over.

And the teacher gave you a grade of 50...

4 % 3 => 1 and 1 remainder

--
 
A

administrata

Hi! it's been about a week learning python!
I've read 'python programming for the absolute begginer'
I don't understand about % like...

107 % 4 = 3
7 % 3 = 1

I'm confused with division :/
Please help me...

thx 4 reading.

sry, i don't know much about maths

What is % used for?

such as?
 
R

Robert Kern

administrata said:
sry, i don't know much about maths

What is % used for?

such as?

Among many other things, you can use it to test whether one integer
evenly divides another integer.

For example, to test if a number is odd:

def isodd(x):
return bool(x % 2)

--
Robert Kern
(e-mail address removed)

"In the fields of hell where the grass grows high
Are the graves of dreams allowed to die."
-- Richard Harter
 
E

Enoch

administrata said:
Hi! it's been about a week learning python!
I've read 'python programming for the absolute begginer'
I don't understand about % like...

107 % 4 = 3
7 % 3 = 1

I'm confused with division :/
Please help me...

thx 4 reading.

% means modulus, which is simply, the remainder of A divided by B
so:

7 % 3 = 1

because only two threes go into seven, leaving 1 remainder. Modulus only
returns that remainder.

And 107 % 4 = 3 because 26 4's go into 107 leaving 3 over.

Make sense?

Enoch.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,768
Messages
2,569,574
Members
45,049
Latest member
Allen00Reed

Latest Threads

Top