首页 新闻 会员 周边 捐助

执行以下程序,下列选项中,其输出结果与程序的输出结果相同的一项是()

0
[已关闭问题] 关闭于 2025-11-19 14:48

链接:https://www.nowcoder.com/questionTerminal/365456fc9c4b451994b3bb7d7d4f503f?examPageSource=%E5%85%AC%E5%8F%B8%E7%9C%9F%E9%A2%98%E7%AD%94%E6%A1%88&toCommentId=22271494#jsEditorModuleBody
来源:牛客网

执行以下程序,下列选项中,其输出结果与程序的输出结果相同的一项是()

1
2
3
import numpy as np
arr = np.array([-1.51.5])
print(np.round(arr))

 

  • print(np.floor(arr))
  • print(np.ceil(arr))
  • print(np.trunc(arr))
  • print(np.rint(arr))

NumPy(以及 Python 和大多数科学计算库)在处理 .5 的四舍五入时,采用的是 “四舍六入五成双”(也叫“银行家舍入法”):

_java_python的主页 _java_python | 小虾三级 | 园豆:1070
提问于:2025-11-19 14:27
< >
分享
所有回答(1)
0
arr = np.array([-1.5, 1.5])

是用 Python 的 NumPy 库创建了一个一维 NumPy 数组(ndarray),包含两个浮点数:-1.51.5

np.round(arr) 是 NumPy 中用于对数组中的每个元素进行四舍五入的函数。

具体作用:

  • 对 arr 中的每个数值,保留到最接近的整数(默认情况下)。
  • 返回一个新的 NumPy 数组,数据类型通常是 float64(即使结果是整数,除非你显式转换)。
  • NumPy(以及 Python 和大多数科学计算库)在处理 .5 的四舍五入时,采用的是 “四舍六入五成双”(也叫“银行家舍入法”):

    • 当要舍入的数字正好是中间值(如 x.5),则舍入到最近的偶数。
    • 所以 np.round(0.5) → 0.0np.round(1.5) → 2.0np.round(2.5) → 2.0,以此类推
    • 所以结果是 [-2. 2.]

       D正确:np.rint()函数的行为与round()完全一致,也是四舍五入到最近的整数,对于±1.5这样的临界值,会向绝对值更大的方向取整,因此[-1.5, 1.5]会被转换为[-2., 2.]。

      A错误:np.floor()是向下取整函数,会将数组中的每个元素向负无穷方向取整,结果为[-2., 1.]。

      B错误:np.ceil()是向上取整函数,会将数组中的每个元素向正无穷方向取整,结果为[-1., 2.]。

      C错误:np.trunc()是截断函数,只保留整数部分,直接删除小数部分,不进行四舍五入,结果为[-1., 1.]。

    • 注意:所有结果都是 float 类型,显示带小数点)
    • 正确答案:D

       

       
_java_python | 园豆:1070 (小虾三级) | 2025-11-19 14:48
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册