2017-10-19 9 views
1

나는 리플렉스 테스트 게임을 가지고 있으며 그 사이에 공백이있는 사용자의 이름과 점수를 저장하는 텍스트 파일을 설정했습니다. 수치가 가장 낮은 7.45텍스트 파일에서 순위표를 읽고 점수가 가장 낮은 점수부터 최고 점수까지 정렬하는 방법은 무엇입니까?

I 스티브 맨 위에 있고 아래

벤에서 가장 높은 1.43

에릭 3.53

있도록 어떻게 숫자로 텍스트 파일을 정렬 할 2 자리 소수 자릿수를 포함하고 싶습니다.

코드 : 이것은 당신이 필요로하는 종류의 어떤 종류의 당신을 도울 것입니다이 링크 https://wiki.python.org/moin/HowTo/Sorting 에서

import time 
import random 
global start 
global end 
global score 
def gameBegin(): 
    print('***************') 
    print('* Reflex Game *') 
    print('***************') 
    print("\nPress Enter as soon as you see the word 'stop'.") 
    print('Press Enter to Begin') 
    input() 

def gameStart(): 
    global start 
    global end 
    time.sleep(random.randint(1,1)) 
    start = time.time() 
    input('STOP') 
    end = time.time() 
def gameScore(): 
    global start 
    global end 
    global score 
    score=round(end-start,2) 
    print (score) 

def scorePrint(): 
    global score 
    with open("Leaderboards.txt", "r+") as board: 
     print (board.read()) 


def boardEdit(): 
    global score 
    name = input('Enter Your Name For The Leader Board : ') 
    board = open ("Leaderboards.txt","a+") 
    board.write(name) 
    board.write(" ") 
    board.write(str(score)) 
def boardSort(): 
    #HELP 

gameBegin() 
gameStart() 
gameScore() 
scorePrint() 
boardEdit() 
boardSort() 

답변

1

보세요. 당신이 리더

간단한 오름차순 정렬을 인쇄하기 전에 정렬을 수행 할 필요가 요구하는 일을 할 수 밖에

은 매우 간단합니다 - 그냥 분류() 함수를 호출합니다. 그것은 새로운 정렬 된 목록을 반환

sorted([5, 2, 3, 1, 4]) 

[1, 2, 3, 4, 5] 

또한 목록의 list.sort() 메서드를 사용하여이된다. 현재 위치에서 목록을 수정합니다 (혼란을 피하기 위해 없음을 반환합니다). 대개 sorted()보다 덜 편리하지만 원래 목록이 필요하지 않으면 약간 더 효율적입니다.

>>>a = [5, 2, 3, 1, 4] 
>>>a.sort() 
>>>a 
[1, 2, 3, 4, 5] 
+1

내 대답을 편집했습니다. 더 효율적인 응답을 만들기 위해 더 이상 변경해야 할 경우 알려주십시오. –

+0

멋지게 완료되었습니다. 잘 했어. –

+0

어떻게 텍스트 파일을 정렬합니까? – Dargon111