Untitled - Posted on October Sun 4th 11:16 PM (Never Expires) - Format: text - This is a modified post titled "Untitled". - See newer version(s) of this paste titled "Untitled"
  1. # 下面注释掉的代码,皆为检验代码(验证每一步的思路和代码是否达到目标,可解除注释后运行)。
  2.  
  3. file1 = open('winner.txt','r',encoding='utf-8')
  4. file_lines = file1.readlines()
  5. file1.close()
  6.  
  7. dict_scores = {}
  8. list_scores = []
  9. final_scores = []
  10.  
  11. print(file_lines)
  12. print(len('\n'))
  13.  
  14. # 打印结果为:['罗恩102\n', '哈利383\n', '赫敏570\n', '马尔福275\n']
  15. # 经过测试,发现'\n'的长度是1。所以,名字是“第0位-倒数第5位”,分数是“倒数第4位-倒数第二位”。
  16. # 再根据“左取右不取”,可知:name-[:-4],score-[-4:-1]
  17.  
  18. for i in file_lines:  # i是字符串。
  19.     print(i)
  20.     name = i[:-4]  # 取出名字(注:字符串和列表一样,是通过偏移量来获取内部数据。)
  21.     score = int(i[-4:-1])  # 取出成绩
  22.     print(name)
  23.     print(score)
  24.     dict_scores[score] = name  # 将名字和成绩对应存为字典的键值对(注意:这里的成绩是键)
  25.     list_scores.append(score)
  26.  
  27. # print(list_scores)
  28. list_scores.sort(reverse=True)  # reverse,逆行,所以这时列表降序排列,分数从高到低。
  29. # print(list_scores)
  30.  
  31. for i in list_scores:
  32.     result = dict_scores[i] + str(i) + '\n'
  33.     # print(result)
  34.     final_scores.append(result)
  35.  
  36. print(final_scores)  # 最终结果
  37.  
  38. winner_new = open('winner_new.txt','w',encoding='utf-8')
  39. winner_new.writelines(final_scores)
  40. winner_new.close()

New Paste

Paste Options

Recent Pastes

12 days ago

EARN PAYPAL IN A

13 days ago

QUICK CASH VIA

13 days ago

ATM cloned cards

13 days ago

ATM cloned cards

13 days ago

ATM cloned cards

13 days ago

ATM cloned cards

19 days ago

A MONEY MAKING B

19 days ago

A MONEY MAKING B

19 days ago

A MONEY MAKING B

19 days ago

A MONEY MAKING B