使用 Python 打印 Min1 和 Min2

Printing Min1 and Min2 using Python

我在此代码中遗漏了什么,以便将 min1 和 min2 设置为两个最小的数字?

def test() : # do not change this line!
  list = [4, 5, 1, 9, -2, 0, 3, -5] # do not change this line!          
  min1 = list[0]
  min2 = list[1]
  #missing code here
  print(min1, min2)
  return (min1, min2) # do not change this line!
  # do not write any code below here  
test() # do not change this line!
  # do not remove this line!

只需插入

list = sorted(list)

在这一行之后

list = [4, 5, 1, 9, -2, 0, 3, -5] # do not change this line!

您可以添加行 list.sort() 将列表按升序排序,然后您的代码将 return 两个最小值。

def test() : # do not change this line!
  list = [4, 5, 1, 9, -2, 0, 3, -5] # do not change this line!
  list.sort()
  min1 = list[0]
  min2 = list[1]

如果您确定 list 中会有多个值,那么您可以对列表进行排序并分配 min1min2 中的前两项。

def test() : # do not change this line!
  list = [4, 5, 1, 9, -2, 0, 3, -5] # do not change this line!
  list = sorted(list)
  min1 = list[0]
  min2 = list[1]
  #missing code here

  print(min1, min2)
  return (min1, min2) # do not change this line!
# do not write any code below here  

test() # do not change this line!
# do not remove this line!

输出:

-5 -2

更新

更新了代码。由于我们无法更改带有 list 声明的行,我们可以将排序后的列表存储在下一行,然后将前两个值分配给两个变量。

List 不会对其中的元素进行隐式排序。您已使用 sort() 函数对列表进行排序。因此,在您从列表中获取 min1 和 min2 之前,您已经使用 sort 函数对列表进行了排序,您可以使用 nameofyourlist.sort() 来做到这一点并且您也没有分配 return 的值test() 到任何变量,这样你就可以避免该行。您的最终代码可以如下

def test():
    list = [4, 5, 1, 9, -2, 0, 3, -5]
    list.sort()
    min1 = list[0]
    min2 = list[1]
    print(min1, min2)

test()