我提供了 Golf.txt 文件的测试示例以及用于打印结果的代码。高尔夫.txt:Andrew53Dougie21打开此文件并打印结果的代码(为了保持简短,我只有两个玩家和两个分数golfData = open('golf.txt','r')whichLine=golfData.readlines()for i in range(0,len(whichLine),2): print('Name:'+whichLine[i]) print('Score:'+whichLine[i+1])golfData.close()我可以修改代码来提取带有名字的最低玩家分数吗?我相信我可以不写列表或字典,但不知道如何。非常感谢帮助/建议。
2 回答
德玛西亚99
TA贡献1770条经验 获得超3个赞
使用min()函数来实现:
with open('file.txt') as f_in:
min_player, min_score = min(zip(f_in, f_in), key=lambda k: int(k[1]))
print(min_player, min_score)
印刷:
Dougie
21
陪伴而非守候
TA贡献1757条经验 获得超8个赞
您可以尝试这样的操作:
golfData = open('golf.txt','r')
whichLine=golfData.readlines()
lowest=float('Inf')
Name=''
for i in range(0,len(whichLine),2):
if float(whichLine[i+1])<lowest:
lowest=float(whichLine[i+1])
Name=whichLine[i]
golfData.close()
print(Name)
print(lowest)
添加回答
举报
0/150
提交
取消