2013-08-17 88 views
1

我已經看過其他關於stackoverflow的問題,但它們有所不同,似乎並不適用於這個問題,所以在這裏。Python - 不支持的操作數類型爲%:'list'和'int'

我寫了一個簡單的腳本,讓我打印出每個數字的1-49之間,並把它放到使用範圍功能列表。

現在我已經定義一個函數來計算出什麼數是奇數,什麼號碼是偶數,這裏是我的代碼:

def check(number): 
    if number%2==0: 
     print "Even Numbers:",(number) 
    else: 
     print "Odd Numbers:",(number) 


a = range(1,50) 

print a 

check(a) 

我收到以下錯誤,當我運行該腳本:

unsupported operand type(s) for %: 'list' and 'int' 

所以我知道這意味着%經營者無法不支持「名單」或「整數」,但我怎麼能解決這個問題?

我嘗試這樣做:

def check(number): 
    if number%2==0: 
     print "Even Numbers:",(number) 
    else: 
     print "Odd Numbers:",(number) 


a = range(1,50) 

b = str(a) 

check(str(a)) 

但得到的錯誤:

Traceback (most recent call last): 
    File "showEvenNumbers.py", line 12, in <module> 
    check(str(a)) 
    File "showEvenNumbers.py", line 2, in check 
    if number%2==0: 
TypeError: not all arguments converted during string formatting 

所以我有點不知該怎麼辦。

任何幫助將不勝感激。

+1

您需要以某種方式迭代列表。 –

+0

謝謝墊,我有一個空白的時刻。我意識到我張貼的問題後攪拌機+你讓我想起了什麼,我要怎樣做。謝謝:) – BubbleMonster

回答

6

a是一個列表,但check預計一個整數。您需要遍歷列表:

for item in a: 
    check(item) 
+0

這是有道理的,我知道這會是簡單的東西。謝謝攪拌機。它現在有效。我認爲(數字)需要一個整數,但我錯過了它。一旦它讓我接受,就會接受。 – BubbleMonster

相關問題