2013-08-23 51 views
0

我怎樣才能避免手動遞增count_odd_values變量在下面的Python代碼:避免有條件的計數器增量

count_odd_values = 0 
for value in random.sample(range(1000), 250): 
    if value % 2 == 1: 
    count_odd_values += 1 
+0

@Josh謝謝,但我不知道如何。我是Python的新手。 – necromancer

回答

3

你可以這樣做:

count_odd_values = sum(value % 2 for value in random.sample(range(1000), 250)) 

所有偶數會給value % 2 == 0,不會改變總和。 所有的奇數會給value % 2 == 1和總和會加1.

+0

謝謝,我認爲這將推廣到一個條件,檢查Django的數據庫對象? – necromancer

+0

對不起,對於Django來說不能說太多,沒有經驗。我所知道的是,這個代碼將會在「random.sample(...)提供的任何內容中計算奇數」 – mishik

+0

'sum'(1代表random.sample中的值,範圍(1000) ,250)如果值%2)'。 – martineau