def main():
winners = []
winnersND = []
readData()
noDuplicates(winners)
def readData():
winners_file = open('WorldSeriesWinners.txt', 'r')
winners = winners_file.readlines()
winners_file.close()
index = 0
while index < len(winners):
winners[index] = winners[index].rstrip('\n')
index += 1
print(winners)
print()
print()
return winners
def noDuplicates(winners):
winnersND = []
for x in winners:
if x not in winnersND:
winnersND.append(x)
print (winnersND)
winnersND = tuple(winnersND)
return winnersND
main()
所以我到处找,我花了7个小时的代码迭代试图让这个工作,但是出于某种原因,优胜者列表被打印在readData()
,但是winnersND
列表,一个唯一的和有序的优胜者列表元素的列表,没有被打印出来,而是显示输出:[]
。我很想弄清楚我在搞什么鬼。谢谢您!你知道吗
试试看
在
noDuplicates()
函数中, 这是一个空白列表,这就是为什么你得到一个空白列表,因为从空白列表中获取数据。你知道吗您试图访问在
main()
中分配的winners
,但在readData()
函数中更改了它,当您试图访问该函数外的winners
时,它将显示一个空列表。你知道吗试试看本文件:你知道吗
或者将
readData()
返回值存储在变量中即:你知道吗然后应用
for
循环您的问题是:
这一切都可以这样做。你知道吗
既然你在评论中问了,这就是你可以检查每个队赢了多少次的方法。你知道吗
因为
winners
是main
是一个空列表。在readData()
中重新分配一个名为winners
的变量并返回它,但不捕获返回值。所以main
继续向noDuplicates()
传递一个空的winners
列表。你知道吗尝试将
main
更改为:相关问题 更多 >
编程相关推荐