Python - 为什么文本文件中的某些行按时间排序而其他行按字母排序?

Python - Why are some lines in a text file being ordered by time and others by letter?

count = len(open('times.txt').readlines())
if fighter2.visible == False:
    end = time.time()
    elapsed = end - begin
    elapsed = round(elapsed, 2)
    elapsed = str(elapsed)
    print('\nWell done! You completed the game in', elapsed, 'seconds.\nCheck the leaderboard to see where you placed.')
    with open ('times.txt','a') as f:
        f.write(name)
        f.write('          ')
        f.write(elapsed)
        f.write('\n')

    with open ('times.txt','r') as f:
        readthefile = f.readlines()
        sortedData = sorted(readthefile,reverse = True)
        
    print('\n')
    for line in range(count + 1):
        print(str(line + 1) + '\t' + str(sortedData[line]))

这是我用来在文本文件中排序时间的代码。到目前为止,只有文件的前 3 行按时间排序,之后的行按名称而不是时间的字母顺序排序。

  • 你的迭代elapsed 3次当你数到2(0,1,2)所以第一个3行将是数字。

  • 下一行你的迭代 str 这就是为什么你得到一个字母表的原因。

考虑 while true 语句