我的python代码在solo learning应用程序上运行正常,但在pc上运行不正常
我在solo learning应用程序上编写了一个代码,它工作正常,但当我在电脑上键入它时,它工作不正常,并给了我其他结果 代码应该只返回该列表中唯一的数字,并删除重复项我的python代码在solo learning应用程序上运行正常,但在pc上运行不正常,python,Python,我在solo learning应用程序上编写了一个代码,它工作正常,但当我在电脑上键入它时,它工作不正常,并给了我其他结果 代码应该只返回该列表中唯一的数字,并删除重复项 no_list = [22,22,2,1,11,11,2,2,3,3,3,4,5,5,5,55,55,66] def unique_list(l): l.sort() answer = [] for i in range(len(l)): if i > 0:
no_list = [22,22,2,1,11,11,2,2,3,3,3,4,5,5,5,55,55,66]
def unique_list(l):
l.sort()
answer = []
for i in range(len(l)):
if i > 0:
if l[i] != l[i-1]:
answer.append(l[i])
else:
answer.append(l[0])
return answer
print(unique_list(no_list))
代码在solo learning app上返回了正确答案,即:
[1,2,3,4,5,11,22,55,66]
但在PC上,它返回:
[2,1,1,3,1,1,4,5,1,1,1,11,1,22,1,55,1,66]
您的“else”条件缩进不正确: 选中此项:
no_list = [22,22,2,1,11,11,2,2,3,3,3,4,5,5,5,55,55,66]
def unique_list(l):
l.sort()
answer = []
for i in range(len(l)):
if i > 0:
if l[i] != l[i-1]:
answer.append(l[i])
else:
answer.append(l[0])
return answer
print(unique_list(no_list))
不过,还有另一种方法:
no_list = [22,22,2,1,11,11,2,2,3,3,3,4,5,5,5,55,55,66]
print(list(set(no_list)))
这正是此代码将输出的内容。删除
else
子句,它应该可以正常工作。(您还必须手动添加l[0]
在answer
的开头)我不知道solo learning是什么,但是如果它给出了此代码的第一个输出,那么它在运行Python代码时就有一个bug。我无法想象一个bug是如何为这段代码生成输出的,所以我猜你并没有在单独学习中运行这段代码,而是误解了正在发生的事情。