我正在尝试用Python中的counter逐行读取csv文件。以下是csv文件中的3行:
02,17,25,32,42,49,04
06,20,23,29,35,53,57
13,14,18,19,21,36,53
我要做的是+=1,不是出现在1到60的列表中的数字。我事先设置了1-60的范围,将它们设置为零,打开一个文本文件,逐行读取:
import collections
c = collections.Counter(range(1,60))
c = collections.Counter({x:0 for x in c})
with open('lottoresults.txt') as f:
for line in f:
接下来我要将每一行拆分为逗号分隔的值。对于与行的CS值匹配的每个计数器值,将Counter value设置为0,否则将计数器的值向上迭代1。你知道吗
for n in line.strip().split(","):
while c['%d'] % n:
c['%d'] = 0
else:
c['%d'] += 1
但我得到以下错误:
while c['%d'] % n: TypeError: unsupported operand type(s) for %: 'int' and 'str'
有人能帮我解释一下我做错了什么吗?你知道吗
澄清:
我有一个数组中数字的初始计数: (1:0,2:0,3:0,4:0,5:0)
然后我跑一行,得到数字1,2。计数现在应显示: (1:0,2:0,3:1,4:1,5:1)
然后我跑一行,得到数字3,4。计数现在应显示: (1:1,2:1,3:0,4:0,5:2)
也就是说,所有没有出现的数字都加1,而那些被拉取的数字则重置为0。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐