【问题标题】:we have to find second runner up score我们必须找到亚军分数
【发布时间】:2020-09-14 19:19:36
【问题描述】:
n = int(input())
arr = map(int, input().split())
setA = set(arr)

for x in setA:
    x.sorted()
    print(x)

这是我面临的错误

5
9 8 7 4
Traceback (most recent call last):

  File "C:\Users\jnnim\OneDrive\Desktop\hacker rank\practice\untitled1.py", line 6, in <module>
    x.sorted()

AttributeError: 'int' object has no attribute 'sorted'

项目要求

给你 n 个分数。将它们存储在一个列表中,然后找到亚军的分数。

第一行包含 n 个元素。第二行包含一个由空格分隔的整数数组。

在这个for循环程序中,我在setA中尝试过,因为我们必须对setA进行排序。

我在 set 中创建了数组,因为它不保留重复元素。

  1. 最后,当我必须找出亚军分数时,我会调用 [-1] index 并将其打印为亚军分数。

  2. 如果您需要了解更多有关问题的信息,请发表评论,我会告诉您任何您需要的。

  3. 请仅在这些行内帮助我解决此程序中的此错误。不要给出完整的解决方案

【问题讨论】:

  • 首先,它是sorted(x),而不是x.sorted。其次,您可以对列表进行排序,而不是数字。

标签: python python-3.x list for-loop


【解决方案1】:

首先,它是sorted(x),而不是x.sorted。其次,您可以对列表进行排序,而不是数字。

您需要这样做:x = sorted(setA)

【讨论】:

    【解决方案2】:

    此代码将起作用:

    n = int(input())
    arr = map(int, input().split())
    arrset = set(arr)
    runnerup = 0
    for index, val in enumerate(sorted(arrset), start=1):
        if index == len(arrset) - 1:
            runnerup = val
    print(runnerup)
    

    【讨论】:

      【解决方案3】:
      n = int(input())
      arr = (int, input().split())
      
      
      arrlist = [] 
      
      for t in arr:  
          arrlist.append(t)     
      num=arrlist[1]
      
      test_list = [int(i) for i in num]
      test_sorted= (sorted(test_list, reverse=True))
      List = []
      for i in test_sorted:
          if i != max(test_sorted):
              List.append(i)
              
      print(max(List))
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-17
        • 2019-08-20
        • 2021-12-12
        • 2016-01-10
        相关资源
        最近更新 更多