2013-08-17 91 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

相关问题