【发布时间】:2014-11-05 03:00:44
【问题描述】:
除了一小部分之外,我的代码一般都可以正常工作。在下面给出的文件中,程序应该输出红色或硬肉的安全动物的数量。它应该是 8,但我得到 5。我将如何解决这个问题?相关摘录如下。谢谢。
文本文件:
#color size flesh class
brown large hard safe
green large hard safe
red large soft dangerous
green large soft safe
red small hard safe
red small hard safe
brown small hard safe
green small soft dangerous
green small hard dangerous
red large hard safe
brown large soft safe
green small soft dangerous
red small soft safe
red large hard dangerous
red small hard safe
green small hard dangerous
还有代码:
for line in infile:
if line[0] != '#':
data = line.strip().split()
if data:
animals = animals + 1
if data[3] == 'dangerous':
dangerous = dangerous + 1
elif data[3] == 'safe' and data[1] == 'large':
large_safe = large_safe + 1
elif data[0] == 'brown' and data[3] == 'dangerous':
brown_dangerous = brown_dangerous + 1
elif (data[3] == 'safe') and (data[0] == 'red' or data[2] == 'hard'):
safe_red_hard = safe_red_hard + 1
print("Total animals: "+ animals + "\n")
print("Dangerous: "+ dangerous + "\n")
print("Brown and dangerous: "+ brown_dangerous + "\n")
print("Large and safe: "+ large_safe + "\n")
print("Safe and red color or hard flesh: "+ safe_red_hard + "\n")
【问题讨论】:
标签: file python-3.x io