问题: 我发现代码的语法有问题,尤其是我用于遍历外部文件的for循环。
我的程序是一个骰子游戏,应该注册用户,然后允许他们随后登录游戏。最后,它必须访问外部文件,该文件以前曾用于存储获胜者的姓名(请记住授权名称具有单独的文件),并循环遍历该文件,并将前5位获胜者的姓名和分数输出到Shell < / em>
我使用了for循环遍历文件并将其附加到名为“ 前5个优胜者”的数组中,但是我似乎在代码的语法方面苦苦挣扎,因为我相当新的Python。
访问文件的代码。
with open("Top 5 Winners.txt","r") as db:
top5Winners=[]
for i in db(0,len([db])):
top5Winners.append(line)
top5Winners.sort()
top5Winners.reverse()
for i in range(5):
print(top5Winners[i])
错误代码:
for i in db(0,len([db])):
代码的len()部分是问题
注意: 我也不会介意任何技巧来提高我的代码效率,以便我可以在以后的项目中应用它。
答案 0 :(得分:0)
您的缩进不是应该的。您确实打开了一个文件并使它可读,但是此后您什么也不做。请参见以下示例:
with open(file, 'r') as db:
#code with file (db)
#rest of the code
因此您可以像这样将您的代码与之结合:
top5winners = [] #Make a list variable
with open("Top 5 Winners.txt","r") as db: #Open your file
for i in db: #Loop trough contents of file
top5winners.append(i) #Append iterable to list
top5winners.sort(reverse=True) #Sort list and use reverse option
for i in range(0, 5): #Loop trough range
print(top5winners[i]) #Print items from list
请注意,StackOverflow仅用于特定情况下的帮助,而不是要求他人编写代码的站点。
问候,来自CCD的Chris van den Hoorn。