Python - %不支持的操作数类型:'list'和'int'

Bub*_*ter 1 python function range

我看了一下计算器上的其他问题,但他们是不同的,似乎并不适用于这个问题,所以这里去.

我写了一个简单的脚本,它给出了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)
Run Code Online (Sandbox Code Playgroud)

运行脚本时出现以下错误:

unsupported operand type(s) for %: 'list' and 'int'
Run Code Online (Sandbox Code Playgroud)

所以,我知道这意味着%经营者无法不支持"名单"或"整数",但我怎么能解决这个问题?

我试过这个:

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))
Run Code Online (Sandbox Code Playgroud)

但得到错误:

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
Run Code Online (Sandbox Code Playgroud)

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

任何帮助将非常感激.

Ble*_*der 8

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

for item in a:
    check(item)
Run Code Online (Sandbox Code Playgroud)