我正在尝试创建一个对数字列表进行排序并将该列表分为两个列表的函数:一个用于偶数,另一个用于奇数,我不明白我在做什么错:>
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
我在做什么错了?
答案 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)