2015-11-04 90 views
0

我必須編寫一個腳本,它可以找到列表中最大的整數。正確排列列表?

tour = int(input('Combien de valeurs voulez-vous entrer ? ')) 
tableau = [] 
for i in range(tour): 
    valeur = input('Entrez des valeurs :') 
    tableau.append(valeur) 
tableau.sort() 
print('La valeur maximale entrée est :',tableau[len(tableau)-1]) 

而且我有(空閒):

Combien de valeurs voulez-vous entrer ? 10 
Entrez des valeurs :200 
Entrez des valeurs :1 
Entrez des valeurs :5 
Entrez des valeurs :9 
Entrez des valeurs :41 
Entrez des valeurs :52 
Entrez des valeurs :69 
Entrez des valeurs :58 
Entrez des valeurs :32 
Entrez des valeurs :01 
La valeur maximale entrée est : 9 
>>> tableau 
['01', '1', '200', '32', '41', '5', '52', '58', '69', '9'] 

爲什麼列表不正確排序了呢?

+0

您應該使用選擇算法不排序algorithm.E.g。使用Quickselect:https://en.wikipedia.org/wiki/Quickselect。 – Kashyap

回答

2

您需要的每個條目轉換爲整數,這是目前對它們進行排序爲字符串:

tableau.append(int(valeur)) 
+0

upvoted。但是,如果OP想要將列表元素保留爲字符串,則可以詳細說明並提供替代方案。例如'tableau.sort(鍵= INT)' – Pynchia