4

我已经查看了有关 stackoverflow 的其他问题,但它们是不同的,并且似乎不适用于这个问题,所以在这里。

我编写了一个简单的脚本,可以打印出 1-49 之间的每个数字,并使用 range 函数将其放入列表中。

现在我已经定义了一个函数来计算哪些数字是奇数,哪些数字是偶数,这是我的代码:

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

所以我有点不确定该怎么做。

任何帮助将非常感激。

4

1 回答 1

11

a是一个列表,但check需要一个整数。您需要遍历列表:

for item in a:
    check(item)
于 2013-08-17T16:05:11.290 回答