【发布时间】:2017-09-20 16:02:58
【问题描述】:
对于 Python 中的以下排序算法,我不了解 while 循环的功能。紧跟在“whilesortingComplete is not True:”行之后是行sortingComplete = True。后一行不是不满足while循环的条件,因此它应该退出while循环吗?为什么即使在下一行将sortingComplete更改为True,代码仍继续执行?
def main():
sort_list()
def sort_list():
my_list = [3,4,5,6,4,3,2,5,6,7,8,6,4,3,5,4,4,5,6]
print "my_list: ", my_list
sortingComplete = False
while sortingComplete is not True:
sortingComplete = True
for number in range(len(my_list)-1):
if my_list[number+1] < my_list[number]:
sortingComplete = False
my_list[number], my_list[number+1] = my_list[number+1], my_list[number]
print "Sorted my_list:", my_list
if __name__ == '__main__':
main()
【问题讨论】:
-
每次迭代只检查一次条件,在
while行。
标签: algorithm python-2.7 sorting while-loop bubble-sort