问题:我发现了代码语法的问题,特别是用于循环外部文件的for循环。
我的程序是一个骰子游戏,应该注册用户,并允许他们之后登录游戏。最后它必须访问外部文件,该文件以前曾用于存储获胜者名称(请记住授权名称有一个单独的文件),并循环通过它并输出前5名获奖者名称和分数到shell
我使用for循环遍历文件并将其附加到名为“Top 5 Winners”的数组中,但是我似乎很难解释代码的语法,因为我是一个非常新的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()部分是问题
注意:我也不介意如何使这段代码更有效,所以我可以在以后的项目中应用它。
你的缩进不是应该的。你确实打开了一个文件并使其可读,但之后你没有对它做任何事情。请参阅以下示例:
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旨在帮助解决特定情况,而不是要求其他人编写代码的站点。
真诚的,Chris Fowl。