如何解决小于范围时在文本文件中显示元素?
我正在尝试用Python 3创建我的游戏的前5名排行榜。
这就是我拥有的
Top_Score = open("highscore.txt","r+")
score_list = []
print(" Top 5")
print("==========")
for line in Top_Score.readlines(): # Read lines
score_list.append(line)
score_list.sort()
for i in range(5):
print("Pos",str(i + 1),":",score_list[i])
print("==========")
Top_Score.close()
highscore.txt
50 18 20 40 50 60 70
输出
Top 5
==========
Pos 1 : 18
Pos 2 : 20
Pos 3 : 40
Pos 4 : 50
Pos 5 : 50
==========
但是,如果文本文件小于range(5),该如何在文本文件中显示该元素而没有任何错误?任何帮助将不胜感激
示例highscore.txt
50 18 20
示例输出
Top 5
==========
Pos 1 : 18
Pos 2 : 20
Pos 3 : 50
==========
解决方法
在打印循环中,您需要检查列表的大小是否小于5。如果是,则仅循环直到大小。
所以,像这样:
loop_range = 5
if len(score_list) < loop_range:
loop_range = len(score_list)
for i in range(loop_range):
print("Pos",str(i + 1),":",score_list[i])
可以使用min
函数将其重写以选择两个数字中的较小者5或大小:
loop_range = min(5,len(score_list))
for i in range(loop_range):
print("Pos",score_list[i])
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。