我有一个问题,我输入的代码类型有误。
问题概述:
我试图回答的第一个问题写在这里:
哪个部门最常相互混淆以及混淆了几次?
0)自由裁量权
1)消费必需品
2)能源
3)财务
4)卫生保健
5)工业
6)信息技术
7)材料
8)房地产
9)电信服务
10)实用程序
我尝试过的代码是这样的:
def question_1():
ans1 = np.array([5, 7])
num_scen1 = 5
return ans1, num_scen1
我的代码下面的断言语句如下:
ans1, num_scen1 = question_1()
assert type(ans1) == list, "Incorrect type"
assert type(ans1[0]) == tuple, "Incorrect type"
assert type(ans1[0][0]) == int, "Incorrect type"
assert type(num_scen1) == int, "Incorrect type"
我的代码触发了此错误:
如何通过正确的类型来帮助修复代码以通过断言语句?
答案 0 :(得分:0)
函数question_1()
返回的第一个元素为numpy array
类型而不是list
,因此我们应将其与np.ndarray
匹配。
由于在这里我们正在检查type
变量,因此我们可能更喜欢isinstance()
方法,因此请更新如下代码:
ans1, num_scen1 = question_1()
assert isinstance(ans1, np.ndarray), "Incorrect Type"
assert isinstance(ans1[0], tuple), "Incorrect type"
assert isinstance(ans1[0][0], int), "Incorrect type"
assert isinstance(num_scen1, int), "Incorrect type"