【2024新版】头歌 NumPy基础及取值操作

第一关:ndarray对象

平台会对你编写的代码进行测试,对比你输出的数值与实际正确的数值,只有所有数据全部计算正确才能进入下一关。

  • shape:为需要实例化出来的ndarray对象的shape

  • data:表示需要实例化出来的ndarray对象中元素的值。

例如:{'shape':[1, 2], 'data':[[1, 2]]}表示ndarray对象的形状为12列,第1行第1列的值为1,第1行第2列的值为2


测试输入: {'shape':[1, 2], 'data':[[1, 2]]}

预期输出: [[1 2]]

第二关:形状操作

根据提示,在右侧编辑器Begin-End中填充代码,根据测试用例的输入,将列表转换成ndarray后变形成一维数组并将其打印。

  • 具体要求请参见后续测试样例。

请先仔细阅读右侧上部代码编辑区内给出的代码框架,再开始你的编程工作!


'''

将ipnut_data转换成ndarray后将其变形成一位数组并打印

:param input_data: 测试用例,类型为list

:return: None

'''


测试输入: [[1, 2, 3], [4, 5, 6]]

预期输出: [1, 2, 3, 4, 5, 6]

第三关:基础操作

根据提示,在右侧编辑器Begin-End处补充代码,根据测试用例的输入,打印每行的最大值的位置。

  • 具体要求请参见后续测试样例。

请先仔细阅读右侧上部代码编辑区内给出的代码框架,再开始你的编程工作!


'''

将input_data转换成ndarray后统计每一行中最大值的位置并打印

:param input_data: 测试用例,类型为list

:return: None

'''


测试输入: [[0.2, 0.7, 0.1], [0.1, 0.3, 0.6]]

预期输出: [1 2]

第四关:随机数生成

根据提示,在右侧编辑器Begin-End处补充代码,将测试用例输入打乱顺序并返回打乱结果。

  • 具体要求请参见后续测试样例。

注意:评测程序内部已经设置好了随机种子,为了顺利评测,请使用np.random.choice()函数来实现打乱顺序。

请先仔细阅读右侧上部代码编辑区内给出的代码框架,再开始你的编程工作!


'''

打乱input_data并返回打乱结果

:param input_data: 测试用例输入,类型为list

:return: result,类型为list

'''


测试输入: [1, 2, 3, 4, 5, 6]

预期输出: [4, 3, 5, 1, 2, 6]

第五关:索引与切片

平台会对你编写的代码进行测试。你只需按要求完成get_roi(data, x, y, w, h)函数即可。其中:

  • data:待提取ROI的原始图像数据(其实就是个二维数组),类型为ndarray

  • x: ROI的左上角顶点的行索引,类型为int

  • y: ROI的左上角顶点的列索引,类型为int

  • w: ROI的宽,类型为int

  • h: ROI的高,类型为int

测试用例是一个字典,字典中image部分表示原始图像的像素数据,x部分表示ROI的左上角顶点的行索引,y部分表示ROI的左上角顶点的列索引,w部分表示ROI的宽,h部分表示ROI的高。


预测输入:

{'image':[[1, 2, 255, 255, 0], [255, 255, 0, 0, 3]], 'x':0, 'y':1, 'w':2, 'h':1}

预期输出:

[[ 2 255 255] [255 0 0]]

  • 12
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值