问题大概:你的函数将返回指定的疫苗的字典。 这给字典将返回指定疫苗的各种症状,其中每个键是一个症状,其配对值是该症状出现的次数。
设计function, 其拥有三个parameters。
我的代码:
import csv
def symptom_counts_by_vaccine(CSVFile1, CSVFile2, vaxName):
vaxID = []
out = {}
with open(CSVFile1) as fp:
reader = csv.reader(fp)
for line in reader:
if (line[7] == vaxName):
vaxID.append(int(line[0]))
with open(CSVFile2) as fp2:
reader1 = csv.reader(fp2)
for line1 in reader1:
if (int(line1[0]) in vaxID):
for i in range(1, len(line1), 2):
if (line1[i] not in out):
out[line1[i]] = 1
else:
out[line1[i]] += 1
if ("" in out):
del out[""]
return out
我的代码会有ValueError这样的报错,具体为:
invalid literal for int() with base 10
请问有没有热心人帮我看下代码哪里有错误?谢谢
我这边没看见你是哪行报错了,但是问题既然出现在int函数上,那你可以打印一下你的line[0]和line1[0],看看都是什么东西,是不是有不是数字的,int函数里面只能存放数字
int()方法只能传入数字串