前提条件:len(list)> = 2
的整数列表后置条件:返回第二个最小值。如果列表中存在两个最小值,则返回最小值。
def SecondSmallest(list):
1 smallest = min(list[0], list[1])
2 second_smallest = max(list[0], list[1])
3 i = 2
4 while i < len(list):
5 item = list[i]
6 if item < second_smallest:
7 if item < smallest:
8 second_smallest = smallest
9 smallest = item
10 else:
11 second_smallest = item
12 i += 1
13 return second_smallest
非常感谢。
答案 0 :(得分:0)
循环不变量是一个谓词,它适用于循环的每次迭代。 有关详细信息,请参阅What is a loop invariant?。
在您的特定情况下,对于每次迭代,1 < i < len(list)
都会成立。
有关更正式的定义,请参阅:https://en.wikipedia.org/wiki/Loop_invariant