когда я скомпилировал эту программу в VSCode, я получил IndexError.Есть ли другое решение?
#here is my sample code if __name__ == '__main__': n = int(input()) arr = list(map(int, input().split())) x = len(arr) arr.sort() for i in range(0, x-1): #removing redundant values if arr[i] == max(arr): arr.remove(arr[i]) arr.remove(max(arr)) print(max(arr))
Видя, что вы не обновляете длину после первой итерации, вы в конечном итоге будете думать, что у вас больше массива, чем у вас, поскольку вы удаляете их все.В результате возникает ошибка IndexError.
Если вы создаете копию массива, вы всегда можете выполнить итерацию по ней, что позволит вам редактировать исходный список.
разделить, используя split(','), когда ввод 6,6,6,6,6,6,6,6,6,5
split(',')
6,6,6,6,6,6,6,6,6,5
arr = list(map(int, input().split(',')))