返回错误的类型,如何解决?

时间:2019-07-07 13:34:06

标签: python data-science

我有一个问题,我输入的代码类型有误。

问题概述:

enter image description here

我试图回答的第一个问题写在这里:

哪个部门最常相互混淆以及混淆了几次?

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"

我的代码触发了此错误:

enter image description here

如何通过正确的类型来帮助修复代码以通过断言语句?

1 个答案:

答案 0 :(得分:0)

  1. 函数question_1()返回的第一个元素为numpy array类型而不是list,因此我们应将其与np.ndarray匹配。

  2. 由于在这里我们正在检查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"