2012-04-04 13 views
6

Estoy tratando de verificar si cada número de una lista es divisible por 25 usando Python. No estoy seguro de cuál es el proceso correcto. Quiero hacer algo como esto:Determinando si un número se divide equitativamente por 25, Python

n = [100, 101, 102, 125, 355, 275, 435, 134, 78, 550] 
for row in rows: 

    if n/25 == an evenly divisble number: 
     row.STATUS = "Major" 
    else: 
     row.STATUS = "Minor" 

Cualquier sugerencia es bienvenida.

+0

¿Está 'n' destinado a ser una lista, como se muestra, o un número entero? –

Respuesta

15

Uso the modulo operator:

for row in rows: 
    if n % 25: 
     row.STATUS = "Minor" 
    else: 
     row.STATUS = "Major" 

o

for row in rows: 
    row.STATUS = "Minor" if n % 25 else "Major" 

n % 25 significa "dame el resto cuando n se divide por 25 ".

Desde 0 es False Y, no es necesario comparar de forma explícita a 0, sólo tiene que utilizar directamente en el if - si el resto es 0, entonces es importante una fila. Si no es así, es una fila menor.

+0

Siempre he encontrado esta sintaxis confusa. 'if n% 25:' se lee como "si n * es * divisible por 25" en lugar de al revés. Pero solo soy yo. – NullUserException

+2

@NullUserException Es por eso que lo expliqué :) Solo acostúmbrate a leerlo como "If n _tiene un remainder_ cuando está dividido por 25". – agf

+0

Muchas gracias agf! Eres rápido en la respuesta. Es muy apreciado. ¡Me diste exactamente lo que estaba buscando! Aclamaciones. – Mike

12

utilizar el operador de módulo para determinar el resto de la división:

if n % 25 == 0: 
+0

Gracias por la respuesta Sven! – Mike

Cuestiones relacionadas