我在定义功能时遇到问题

时间:2020-03-13 11:03:14

标签: python function user-defined-functions

我正在尝试创建一个对数字列表进行排序并将该列表分为两个列表的函数:一个用于偶数,另一个用于奇数,我不明白我在做什么错:

numbers = [-12, 84, 13, 20, -33, 101, 9]

def separated(list_numbers):

    numbers = numbers.sort()    
    list_even_numbers = []
    list_odd_numbers = []

    for number in numbers:
        if number % 2 == 0:
            list_even_numbers.append(number)
        else:
            list_odd_numbers.append(number)

    return list_even_numbers, list_odd_numbers


list_even_numbers, list_odd_numbers = separated(numbers)
print(list_even_numbers)
print(list_odd_numbers)

这是我收到的错误消息:

UnboundLocalError                         Traceback (most recent call last)
<ipython-input-43-35d3975ff0c1> in <module>
   16 
   17 
-> 18 list_even_numbers, list_odd_numbers = separated(numbers)
   19 print(list_even_numbers)
   20 print(list_odd_numbers)

<ipython-input-43-35d3975ff0c1> in separated(list_numbers)
   3 def separated(list_numbers):
   4 
-> 5     numbers = numbers.sort()
   6     list_even_numbers = []
   7     list_odd_numbers = []

UnboundLocalError: local variable 'numbers' referenced before assignment

我在做什么错了?

1 个答案:

答案 0 :(得分:0)

尝试以下操作:

numbers = [-12, 84, 13, 20, -33, 101, 9]

def separated(list_numbers):

    list_numbers.sort()    
    list_even_numbers = []
    list_odd_numbers = []

    for number in list_numbers:
        if number % 2 == 0:
            list_even_numbers.append(number)
        else:
            list_odd_numbers.append(number)

    return list_even_numbers, list_odd_numbers


list_even_numbers, list_odd_numbers = separated(numbers)
print(list_even_numbers)
print(list_odd_numbers)
相关问题