-3
我有一個奇怪的問題,我的Python代碼奇怪蟒蛇索引超出範圍
當我與測試:
4
Prashant
32
Pallavi
36
Dheeraj
39
Shivam
40
它工作得很好,但是當我試圖用這個來測試它:
5
Harry
37.21
Berry
37.21
Tina
37.2
Akriti
41
Harsh
39
它失敗,此錯誤:
運行時錯誤 回溯(至多r最後一次調用last): 文件「solution.py」,第48行,在 final = find(嵌套,查找(嵌套,最小(嵌套))[0] [1]) IndexError:列表索引超出範圍
下面是代碼,我不明白爲什麼會崩潰,我嘗試很多型動物的解決方案,沒有任何結果..
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(nested,minimum(nested))'給你的代碼,並且它打印了[]'。可能你的問題出現在「find」中,我不禁注意到你的回報很奇怪。 – tdelaney
如果你只是在'find'中定義return語句(現在它在循環中返回,所以你只處理一個條目)。 – tdelaney