1
通常我的代碼工作正常,除了一小部分。在下面給出的文件中,程序應該輸出紅色或硬肉的安全動物的數量。它應該是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")