2 条题解

  • 0
    @ 2026-3-26 17:43:52

    NUMPY042 题解:检查数组相等

    题目

    检查两个随机数组是否相等。

    解题思路

    使用 np.allclose()np.array_equal() 进行比较。

    代码

    import numpy as np
    A = np.random.randint(0, 2, 5)
    B = np.random.randint(0, 2, 5)
    
    # 方法1:考虑容差
    equal = np.allclose(A, B)
    print(equal)
    
    # 方法2:精确比较
    equal = np.array_equal(A, B)
    print(equal)
    

    代码详解

    np.allclose

    np.allclose(A, B, rtol=1e-05, atol=1e-08)
    
    • 比较两个数组是否相等
    • 考虑浮点数精度容差
    • 公式:|A - B| <= (atol + rtol * |B|)

    np.array_equal

    np.array_equal(A, B)
    
    • 精确比较
    • 要求形状相同且所有元素相等

    示例

    A = np.array([1, 2, 3])
    B = np.array([1, 2, 3])
    print(np.allclose(A, B))  # True
    print(np.array_equal(A, B))  # True
    
    A = np.array([1.0, 2.0, 3.0])
    B = np.array([1.0, 2.0, 3.0000001])
    print(np.allclose(A, B))  # True(容差内)
    print(np.array_equal(A, B))  # False(不完全相等)
    

    核心知识点

    1. np.allclose() —— 浮点数容差比较
    2. np.array_equal() —— 精确比较
    3. rtol 和 atol 控制容差
    • 0
      @ 2026-3-25 15:38:27

      NumPy042 题解

      参考代码

      import numpy as np
      Z = np.array(list(map(float, input().split())))
      print(Z.ptp())
      
      • 1

      信息

      ID
      93
      时间
      1000ms
      内存
      256MiB
      难度
      (无)
      标签
      (无)
      递交数
      0
      已通过
      0
      上传者