мы должны найти второе место, занявшее второе место - PullRequest
0 голосов
/ 27 мая 2020
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 элементов. Вторая строка содержит массив целых чисел, каждое из которых разделено пробелом.

В этой программе для l oop я пробовал это в пределах setA, потому что нам нужно отсортировать setA.

Я сделал массив в наборе, потому что он не хранит повторяющихся элементов.

Наконец, когда мне нужно будет узнать результат, занявший второе место, я вызову индекс [-1] и напечатаю его как результат, занявший второе место.

Если вам нужно Чтобы узнать больше о вопросе, прокомментируйте, я скажу вам все, что вам нужно.

Пожалуйста, помогите мне решить эту ошибку в этой программе только в этих строках. Не давать полного решения

Ответы [ 2 ]

4 голосов
/ 27 мая 2020

Во-первых, это sorted(x), а не x.sorted. Во-вторых, вы можете сортировать список, а не число.

Вам нужно сделать это: x = sorted(setA).

0 голосов
/ 12 августа 2020

Этот код будет работать:

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)
...