2013-12-09 82 views
0

如何查找任意列表中是否存在偶數個元素或奇數個元素。如何知道偶數列表中的元素或奇數

我試着list.index()得到所有的索引......但我仍然不知道我怎麼能告訴程序什麼是偶數和什麼是奇數。

+0

您可以使用獲取一個列表的元素數量的' len()'內建函數 – goncalopp

+0

@goncalopp ...但我怎麼會告訴它是奇數,即使 – user3029969

+2

'len(your_list)%2 == 0' – dm03514

回答

4

所有你需要的是

len(listName) 

,這將給你的長度。

我猜你也可以這樣做,那麼

if len(listName) % 2 == 0: 
    return True # the number is even! 
else: 
    return False # the number is odd! 
+0

但我怎麼會告訴它是奇數甚至任意列表 – user3029969

+1

通過應用模數2列表返回的長度。在他的回答中,這正是代碼學家所做的。 – datenwolf

+3

@ user3029969,代碼'len(listName)%2'將數組中的元素數除以2並返回餘數。如果餘數爲0,則元素的數量可以被2整除,這意味着它是偶數。如果它返回1,那麼它很奇怪。 – jonhopkins

2
if len(mylist)%2==0: 
    #even 
else: 
    #odd 
4
your_list = [1,2,3,(4,5)] 

# modulo operation finds the remainder of division of one number by another. 
if len(your_list) % 2 == 0: 
    print "Even Number" 
else: 
    print"number is odd" 
0

即使數字是由2奇數整除都沒有。

len(X)將獲得X

的lenght如果X長度能被2整除,那麼它是偶數 如果X的lenght並不能被2整除那麼它是一個奇數

len(X)%2返回的分割問題的「餘數」

例如5%2將返回1其不是零,(因爲5除以2是2具有可重新1)因此它不是偶數。 同樣的事情6%4這將返回一個2,因爲除以4 6 1與2。

其餘所以len(X)%2其中X是你的列表中,將返回1,表明它是奇數或0表明它是偶數。

6

您可以使用內置函數len()

Python Doc -- len()

獲取任意列表的長度(元件的#)。

myList = [0,1,2,3,4,5] 

if len(myList) % 2 == 0: 
    print ("even") 
else 
    print ("odd") 

定義返回bool(true或false)的函數。

def is_even(myList): 

    if len(myList) % 2 == 0: 
     return true 
    else: 
     return false 

main(): 

    myList = [0,1,2,3] 
    theListIsEven = is_even(myList) # will be true in this example 
            # because 4 items in myList 

    if theListIsEven(myList) == True: 
     # do something 
    else: 
     # do something else 

    return 0 

的模數運算符%給出的餘數。

EX:7%2 = 1

  • 最近數7中2將勻是6
  • 爲1遠離7.
  • 因此,1其餘的7% 2。

EX:4%2 = 0

  • 任何偶數N N時會給0作爲剩餘%2
  • 由於N具有由2
1
def has_even_length(some_sequence): 
    return not len(some_sequence)%2 

def has_odd_length(some_sequence): 
    return bool(len(some_sequence)%2) 
平分
0

使用模數運算符 - %給出了餘數。要得到,如果甚至,你需要除以2,例如:

7 % 2 = 1 
8 % 2 = 0 

最Python的方式來做到這一點是:

def is_even(your_list): 
    if len(your_list) % 2: # 0 in case of even i.e. No remainder 
     return True 
    else: 
     return False 
相關問題