<pre><code>def main():
fname = input("Enter name of file: ")
with open(fname) as inf:
animalnames, dates, locations = zip(*[line.strip().split(':') for line in inf])
d = {}
for animalname, loc in zip(animalname, locations):
d.setdefault(animalname, []).append(loc)
for k, v in d.items():
print(k, end='\t')
print(v.count('loc1'), end='\t')
print(v.count('loc2'))
main()
</code></pre>
<p>我有一个txt文件名animallg1.txt,其中包含以下内容</p>
<pre><code>a01:01-24-2011:s1
a03:01-24-2011:s2
a02:01-24-2011:s2
a03:02-02-2011:s2
a03:03-02-2011:s1
a02:04-19-2011:s2
a01:05-14-2011:s2
a02:06-11-2011:s2
a03:07-12-2011:s1
a01:08-19-2011:s1
a03:09-19-2011:s1
a03:10-19-2011:s2
a03:11-19-2011:s1
a03:12-19-2011:s2
</code></pre>
<p>我想使用上述格式的数据animaname:数据:打印下表的位置:</p>
<pre><code>Number of times each animal visited each station :
Animal name Station 1 Station 2
a01 2 1
a02 0 3
a03 4 4
========================================
</code></pre>
<p>我试过了,我的代码就是我得到的,但它给了我错误</p>
<pre><code>builtins.UnboundLocalError: local variable 'animalname' referenced before assignment
</code></pre>
<p>有人能帮我修一下吗?这样我就能得到想要的结果了。你知道吗</p>