【发布时间】:2018-06-16 00:10:03
【问题描述】:
我对如下代码感到困惑:
定义这个 findmin 函数来查找 alist 中的最小数,O(n^2)
def findMin(alist):
overallmin=alist[0]
for i in alist:
issmallest=True
for j in alist:
if i>j:
issmallest=False
if issmallest:
overallmin = i
return overallmin
我不明白:为什么作者在第一个 for 循环下面设置“issmallest = True”?通常我们在这种情况下想使用布尔值时(例如在代码开头为变量分配布尔值或将布尔值作为if语句条件)?谢谢!
【问题讨论】:
-
该代码很糟糕而且不起作用,我建议从更好的示例中学习。它也不包含
while True:,尽管琐碎的研究会发现你,例如stackoverflow.com/questions/3754620/… -
你的问题没有多大意义。您应该考虑简化它,您会问很多问题并且可能会让自己感到困惑。至于1.为什么作者设置issmallest=True..这意味着假设该值始终是最小的,除非
i>j
标签: python if-statement boolean