Таким образом, эта программа сохраняет имя и счет, затем сохраняет его в документе tet и сортирует его в пятерку лидеров с оценкой, за которой следует имя.Файл записывается как оценка, имя, оценка, имя ... Но при печати окончательного отсортированного списка он сортирует результаты в виде строк, а не целых чисел, например.98 97 87774 384 111 10000000
, а не 10000000 87774 384 111 98 97
#importing os
import os
#checkingn if the file is empty
if os.stat("scores.txt").st_size == 0:
#if it is, setting up 5 blank scores to correct the ',' start and to
make the leaderboard more presentable
f = open('scores.txt','w')
f.write('0,Empty,0,Empty,0,Empty,0,Empty,0,Empty')
#input of new score and name
score = input('score: ')
name = input('Name: ')
#storing it
f = open('scores.txt','a+')
f.write(',')
f.write(score)
f.write(',')
f.write(name)
f.close()
#reading the file with , as a split so forming a list
f = open('scores.txt','r')
data = f.readline()
# Get and strip all data from the input string.
numdata = [value.strip() for value in data.split(',') if value is not '']
# Create pair from each name/score
data = list(zip(numdata[0::2], numdata[1::2]))
# Sort by score
leaderboard = sorted(data, key =lambda x: x[0], reverse=True)
print(leaderboard)
f.close()
Если кто-нибудь знает, как я могу это исправить, то будет очень признателен