的,我有一些問題,我的排序algorithimPython的調用錯誤的類型類型的變量
def Rank_Players():
Score_List = []
Sorted_List = []
for x in List_Of_Players:
Score_List.append([x,List_Of_Players[x][1]])
while Score_List:
maximum = Score_List[x]
for x in Score_List:
if Score_List[x][1] > maximum[1]:
maximum = Score_List[x][1]
Sorted_List.append(maximum)
Score_List.remove(maximum)
print (Sorted_List)
首先讓我來解釋一下它,因爲我已經沒有做任何評論。
首先List_Of_Players是,使用不同的程序
- 創建兩個陣列,然後追加字典參考編號 並有總指向Score_List格式爲[X,點保持給定玩家的信息的全局字典]
- 雖然Score_List具有值它將經過列表檢查 它們是否與點
- 最大附加到Sorted_List並從所述Score_List取出並打印到s的大量的陣列creen(現在看看它是否有效)
我的問題是,儘管在第11行指向一個整數,Python相信我比較使用列表。
TypeError: list indices must be integers, not list
爲了試圖解決這個問題,我已經嘗試改變兩個最大declerations到
maximum = int(Score_list[x])
謝謝您的閱讀,這是我第一次嘗試使用排序algorithim所以那裏有必然是更多的錯誤,但如果有人可以幫助TypeError我會非常感謝。
請解決您的壓痕,並添加你的輸入和預期的輸出。什麼是List_of_Players' – IanAuld
'Score_List.append([x,List_Of_Players [x] [1]])'將列表元素添加到列表中,您可以通過'Score_List'中的for x訪問列表元素。所以'x'確實是一個不是整數的列表。 – runDOSrun
也在while循環中:'maximum = Score_List [x]',這裏的'x'是什麼,你沒有定義它。 – Jkm