【发布时间】:2017-06-29 12:57:37
【问题描述】:
我有一个问题,我必须对数字列表进行排序,我做得很好。但是接下来我要将列表中最高的 5 个数字放入一个列表中,并且我必须注意有重复的数字。但是,当我尝试这样做时,没有任何打印。如果我尝试打印“计数”,则会打印出无限数量的递增数字。我究竟做错了什么?
list = [8,3,7,4,2,1,6,5,10,9,3,9,6,7,5]
def sortList(list):
switch = 1
temp = int(0)
while (switch != 0):
switch = 0
for i in range(len(list)-1):
if list[i] > list[i+1]:
temp = list[i]
list[i] = list[i+1]
list[i+1] = temp
switch = 1
#这是我的问题所在
count = int(0)
expensive5 = []
while count != 5:
for i in range(len(list)-1, 0, -1):
if float(list[i]) > float(list[i-1]):
expensive5.append(list[i])
count += 1
#if i print count here, I get an infinite number of increasing numbers
print(expensive5)
sortList(list)
【问题讨论】:
标签: python python-3.x sorting infinite-loop bubble-sort