2012-04-04 18 views
6

Próbuję sprawdzić, czy każdy numer na liście jest równomiernie podzielny przez 25 przy użyciu Pythona. Nie jestem pewien, jaki jest właściwy proces. Chcę zrobić coś takiego:Ustalenie, czy liczba równomiernie dzieli się przez 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" 

Wszelkie sugestie są mile widziane.

+0

Czy 'n' ma być listą, jak pokazano, lub liczbą całkowitą? –

Odpowiedz

15

Zastosowanie the modulo operator:

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

lub

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

n % 25 oznacza „daj mi pozostałej, n dzieli przez 25 ".

Od 0 jest False y, nie trzeba jawnie porównać do 0, wystarczy użyć go bezpośrednio w if - jeśli reszta jest 0, to jest to poważny wiersz. Jeśli nie, to jest to niewielki rząd.

+0

Zawsze uważałem tę składnię za mylącą. 'if n% 25:' czyta jak "jeśli n * jest * podzielna przez 25" zamiast na odwrót. Ale to tylko ja. – NullUserException

+2

@NullUserException Dlatego wyjaśniłem to :) Po prostu przyzwyczajaj się do czytania go jako "If n _has a reszta_, gdy dzieli przez 25". – agf

+0

Wielkie dzięki! Szybko reagujesz. Jest to bardzo doceniane. Dałeś mi dokładnie to, czego szukałem! Twoje zdrowie. – Mike

12

pomocą operatora modulo określić pozostałą Dzielenie:

if n % 25 == 0: 
+0

Dzięki za odpowiedź Sven! – Mike

Powiązane problemy