import csv
names = []
scores = []
length = 0
with open('table.csv') as csvfile:
read = csv.reader(csvfile, delimiter = ',')
for row in read:
name = row[0]
score = row[1]
length = length + 1
names.append(name)
scores.append(score)
print(names)
print(scores) #printing unsorted list
#using bubble sort
done = 0
while done != 1:
done = 1
for i in range(length - 1):
if scores[i] > scores[i +1]:
scores[i],scores[i+1] = scores[i + 1], scores[i]
names[i],names[i+1] = names[i + 1], names[i]
done = 0
print("")
print(names)
print(scores)
Click here to access image that shows the output of the codeBlase Art nicht Ausgabe erzeugen wird
Dieser Code gewünschten bedeutet für ein Spiel aus der Highscore-Tabelle zu drucken, die ich entwickle. Ich weiß, dass die Verwendung von Bubble Sort sehr ineffizient ist, aber ich probiere es gerade erst aus. Also im Grunde ist das Problem mit dem Code, dass es sie bestellt, aber wenn die Zahl größer als 100.000 ist, scheint es über die letzte Null zu überspringen und es in Ordnung zu setzen, als ob es 10000 Ich denke, etwas kann entweder falsch sein mit der Anzahl der Schleifen oder vielleicht über 100000 würde in der Regel als 100.000 messing mit der CSV-Datei geschrieben werden, weiß ich ehrlich gesagt nicht.
für alle 2 Werte, die in der richtigen Reihenfolge am Ende der for-Schleife sind, wird Ihr Code beendet (weil getan wird gleich 1) –
Ihre Reihenfolge Strings so ist es alphabetisch, die Ergebnisse scheinen kohärent. – Axnyff