У меня странная проблема с моим питона кодомстранно индекс питон из диапазона
, когда я проверить его с:
4
Prashant
32
Pallavi
36
Dheeraj
39
Shivam
40
это работает хорошо, но когда я пытаюсь проверить его с этим:
5
Harry
37.21
Berry
37.21
Tina
37.2
Akriti
41
Harsh
39
он потерпит неудачу с этой ошибкой:
ошибка выполнения Traceback (большинство г ecent call last): Файл «solution.py», строка 48, в final = find (вложенный, поиск (вложенный, минимальный (вложенный)) [0] [1]) IndexError: индекс списка за пределами допустимого диапазона
Вот код, я не понимаю, почему это крах, я стараюсь много Differents решений без какого-либо результата ..
def compteur (list,sch):
nb=0
for t in list:
if t[1] == sch:
nb += 1
return nb
def minimum (list):
minim = list[0][1]
for t in list :
if t[1] < minim :
minim = t[1]
return minim
def find (list,sch):
ret=[]
for t in list:
if t[1] == sch:
ret.append(t)
return ret
def rmv (list,sch):
ret = []
fd = find(list,sch)
for t in list :
if not fd[0][1]==t[1]:
ret.append(t)
return ret
nested = []
number = int(raw_input())
for i in range(number+1) :
try:
nom = raw_input()
except (EOFError):
break
note = float(raw_input())
nested.append([nom,note])
mini = find(nested,minimum(nested))
for i in mini:
nested = rmv(nested,i[1])
final = find(nested,find(nested,minimum(nested))[0][1])
final.sort(key=str)
for e in final :
print e[0]
Благодарим вас за помощь!
Вы можете сломать это заявление на несколько более мелких и сузить проблему. – tdelaney
Я добавил 'print find (вложенный, минимальный (вложенный))' на ваш код и напечатал '[]'. Вероятно, ваша проблема находится в 'find', и я не мог не заметить, что ваше возвращение странно размещено. – tdelaney
Если вы просто разделите оператор return в 'find' (прямо сейчас он возвращается в цикле, так что вы обрабатываете только одну запись), он работает. – tdelaney