- # 下é¢æ³¨é‡ŠæŽ‰çš„代ç ,皆为检验代ç (验è¯æ¯ä¸€æ¥çš„æ€è·¯å’Œä»£ç 是å¦è¾¾åˆ°ç›®æ ‡ï¼Œå¯è§£é™¤æ³¨é‡ŠåŽè¿è¡Œï¼‰ã€‚
- file1 = open('winner.txt','r',encoding='utf-8')
- file_lines = file1.readlines()
- file1.close()
- dict_scores = {}
- list_scores = []
- final_scores = []
- print(file_lines)
- print(len('\n'))
- # 打å°ç»“果为:['ç½—æ©102\n', '哈利383\n', '赫æ•570\n', '马尔ç¦275\n']
- # ç»è¿‡æµ‹è¯•ï¼Œå‘现'\n'的长度是1。所以,åå—是“第0ä½-倒数第5ä½â€ï¼Œåˆ†æ•°æ˜¯â€œå€’数第4ä½-倒数第二ä½â€ã€‚
- # å†æ ¹æ®â€œå·¦å–å³ä¸å–â€ï¼Œå¯çŸ¥ï¼šname-[:-4],score-[-4:-1]
- for i in file_lines: # i是å—符串。
- print(i)
- name = i[:-4] # å–出åå—(注:å—ç¬¦ä¸²å’Œåˆ—è¡¨ä¸€æ ·ï¼Œæ˜¯é€šè¿‡å移é‡æ¥èŽ·å–内部数æ®ã€‚)
- score = int(i[-4:-1]) # å–出æˆç»©
- print(name)
- print(score)
- dict_scores[score] = name # å°†åå—å’Œæˆç»©å¯¹åº”å˜ä¸ºå—典的键值对(注æ„:这里的æˆç»©æ˜¯é”®)
- list_scores.append(score)
- # print(list_scores)
- list_scores.sort(reverse=True) # reverse,逆行,所以这时列表é™åºæŽ’列,分数从高到低。
- # print(list_scores)
- for i in list_scores:
- result = dict_scores[i] + str(i) + '\n'
- # print(result)
- final_scores.append(result)
- print(final_scores) # 最终结果
- winner_new = open('winner_new.txt','w',encoding='utf-8')
- winner_new.writelines(final_scores)
- winner_new.close()