Initial commit: Python learning project with examples and exercises
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
#深渊轮数统计
|
||||
def read_lunshu(scores_game_name):
|
||||
player_scores = {}
|
||||
try:
|
||||
test = open('深渊轮数.txt','r',encoding="utf_8")
|
||||
next(test)
|
||||
for line in test:
|
||||
name,hundun,xugou,mori= line.strip().split()
|
||||
scores_inner = [float(hundun),float(xugou),float(mori)]
|
||||
#构建value
|
||||
player_scores[name] = scores_inner##输入value
|
||||
return player_scores
|
||||
except FileNotFoundError:
|
||||
print(f"错误:文件'{scores_game_name}'不存在。")
|
||||
return {} # 返回空字典
|
||||
except ValueError:
|
||||
print("文件格式错误,每行应该包含姓名和三个深渊副本的轮数。")
|
||||
return {} # 返回空字典
|
||||
except Exception as e:
|
||||
print(f"读取文件时发生错误:{e}")
|
||||
return {} # 返回空字典
|
||||
def average_players(player_scores):#计算平均成绩
|
||||
average_scores = {}
|
||||
for name,scores_inner in player_scores.items():
|
||||
average_scores = sum(scores_inner)/len(scores_inner)
|
||||
#player_scores包括key(name),value(scores_inner,是
|
||||
#[hundun,xugou,mori]的一个list)
|
||||
return average_scores
|
||||
def all_players_scores(filename,average_scores):#综合
|
||||
try:
|
||||
test = open('深渊轮数.txt','w')
|
||||
test.write("姓名 平均成绩\n")
|
||||
for name, average in average_scores.items():
|
||||
test.write("{} {:.2f}\n".format(name,average))
|
||||
except ValueError:
|
||||
print("文件格式错误,每行应该包含姓名和三个深渊副本的轮数。")
|
||||
return {} # 返回空字典
|
||||
except Exception as e:
|
||||
print(f"读取文件时发生错误:{e}")
|
||||
return {} # 返回空字典
|
||||
|
||||
#——————————————————————————————————
|
||||
scores_game_name = '深渊轮数.txt'
|
||||
averages_game_name = 'average_scores.txt'
|
||||
player_scores = read_lunshu(scores_game_name)
|
||||
average_scores = average_players(player_scores)
|
||||
result = all_players_scores(scores_game_name,average_scores)
|
||||
print(result)
|
||||
#——————————————————————————————————
|
||||
Reference in New Issue
Block a user