Python统计csv树种数量代码运行失败,请问哪里存在逻辑错误?
代码错误原因及修正方案
核心错误点
- 树种存在性判断的处理逻辑完全颠倒:当前代码中
if tree in count对应的是树种已经被统计过的场景,你错误地将计数重置为1;else对应的是树种首次出现的场景,你却尝试访问不存在的字典键执行+1操作,会直接抛出KeyError异常,这是代码无法运行的根本原因。 - 首行
from BrowserFile import open as _为无效导入,未被后续代码调用,属于冗余内容,不会直接触发报错但无实际作用。
修正后代码(仅调整原代码分支逻辑,符合作业要求)
import csv with open("treeinventory.csv", "r", newline='') as f: count = {} reader = csv.reader(f) for yard in reader: for tree in yard: if tree in count: count[tree] = count[tree] + 1 else: count[tree] = 1 print(count)
内容的提问来源于stack exchange,提问作者Kevin de Lange
相关产品推荐
相关产品推荐

