尝试将 % 与列表数据一起使用时打印“不支持的操作类型”错误?

问题描述

抱歉,一般来说是 Python 新手。 我正在制作一个代码,将偶数、奇数与 num_list 分开,偶数将按从高到低排序。我不断收到“不支持的操作类型”错误消息。有没有办法将 % 与列表一起使用?

num_list = [2,10,2,3,4,8,11]
odd_num = []
even_num = []


def number_seperator(*args):
    for i in args:
        if i % 2 == 0:
            return even_num.append(i)
        else:
            return odd_num.append(i)
    return 


print(max(number_seperator(num_list)))
print(even_num)
print(odd_num)

解决方法

不能取列表的模数。

您当前正在尝试执行

if [2,10,2,3,4,8,11] % 2 == 1:
   ...

决定是接受单个列表参数,还是接受多个 int 参数。他们要么删除 * 中的 def,要么在方法调用中添加一个。