【问题标题】:Sorting a txt file with python alphabetically?用python按字母顺序对txt文件进行排序?
【发布时间】:2015-06-02 08:40:44
【问题描述】:

我的代码顶部

player_name = input('Please enter your first and last name: ')

player_class = input('Please enter your class. {Class 1, Class 2 or Class 3}: ')

player_class = "N:\General homework\Computer Science\Class Files\\" + 
player_class + '.txt'

我的代码底部

average_score = (int(score_1) + int(score_2) + int(score_3)) / 3

write_to_file = player_name + ' ' + str(score_1) + "/10" + ' ' + str(score_2) + "/10" + ' ' + str(score_3) + "/10" + ' Average is ' + str(round(average_score))
 + "/10" + "\n"

file = open(player_class,"a")

file.write(write_to_file)

file.close()

我已经搜索了一段时间,但我不知道如何按字母顺序排序。如果我输入名称为 Ben,类输入为 Class 1,然后输入 Alice 和 Class 1,它仍然会首先显示 Ben。我试过 sorted{} 函数,但它不起作用。我需要这个进行评估,不知道该怎么做!如果可以的话请帮忙:(

【问题讨论】:

  • 您正在用文件路径覆盖player_class 变量的值。此外,您似乎只在文件中写入了一行文本。有什么好整理的?你能给出预期的输出吗?
  • 我正在尝试这样做,所以每次我运行代码并在文本文件中添加一个新行时,它也会同时对整个文件进行排序。这意味着当有多行时,它应该对它们进行排序。如果我说一个人叫 Ben,另一个叫 Alice,结果会是 Ben,0/10 0/10 0/10(这是数学测验,分数) Alice,0/10 0/10 0/ 10 然后,我希望它对文件进行排序,以便 Alice 先行。

标签: python sorting alphabetical


【解决方案1】:

您需要以某种数据结构将玩家保存在内存中,例如list

一旦你有了一个包含你想要排序的东西的列表,那么你可以使用sorted()对其进行字母排序,然后使用排序后的列表将所有玩家按顺序写入一个文件。

【讨论】:

  • 好的,我想我可以做到。谢谢!这比我想做的更有意义!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-23
  • 2022-10-07
  • 2011-08-29
  • 1970-01-01
  • 2017-05-22
  • 1970-01-01
相关资源
最近更新 更多