首页 > 解决方案 > python list问题-为什么函数会产生淡蓝色?-vscode

问题描述

第一个案例

lst = [20, 5, 31, 94, 61, 39]

even_list = []
odd_list = []
for i in range(len(lst)):
    if lst[i] % 2 == 0:
        even_list.append(lst[i])
        even_list.sort()
    elif lst[i] % 2 != 0:
        odd_list.append(lst[i])
        odd_list.sort()
    even_cnt = len(even_list)
    odd_cnt = len(odd_list)

print(even_cnt,odd_cnt,even_list,odd_list)

第一个案例是有效的,所以我做了一个函数来排序偶数,奇数(问题发生了!!)

def list_even_odd(original_list):
    even_list = []
    odd_list = []
    for i in range(len(original_list)):
        if original_list[i] % 2 == 0:
            even_list.append(original_list[i])
            even_list.sort()
            even_count = len(even_list)
            
        elif original_list[i] % 2 != 0:
            odd_list.append(original_list[i])
            odd_list.sort()
            odd_count = len(odd_list)
    
list = [20, 5, 31, 94, 61, 39]
even_count, odd_count, even_list, odd_list = list_even_odd(list)
print(even_count, odd_count, even_list, odd_list)

在 Vscode 中,它说 even_count,odd_count 有问题。我该如何解决?

标签: pythonlisttuples

解决方案


你需要return在你的功能上。尝试 :

def list_even_odd(original_list):
    even_list = []
    odd_list = []
    for i in range(len(original_list)):
        if original_list[i] % 2 == 0:
            even_list.append(original_list[i])
            even_list.sort()
            even_count = len(even_list)
            
        elif original_list[i] % 2 != 0:
            odd_list.append(original_list[i])
            odd_list.sort()
            odd_count = len(odd_list)
    return even_count, odd_count, even_list, odd_list

推荐阅读