Numpy数值计算Numpy初体验在线闯关_头歌实践教学平台

news2025/1/23 7:22:25

Numpy数值计算初体验

  • 第1关 Numpy创建数组
  • 第2关 Numpy数组的基本运算
  • 第3关 Numpy数组的切片与索引
  • 第4关 Numpy数组的堆叠
  • 第5关 Numpy的拆分

第1关 Numpy创建数组

任务描述
本关的小目标是,使用 Numpy 创建一个多维数组。

测试说明
本关的测试过程如下:
平台运行step1/cnmdatest.py文件,并以标准输入方式提供测试输入;
cnmdatest.py文件调用cnmda中的cnmda方法,平台获取cnmdatest.py的输出,然后将其与预期输出作对比,如果一致,则测试通过;否则测试失败。
以下是平台对step1/cnmdatest.py的测试样例:
测试输入: 5 8
预期输出: (5,8)
测试输入: 4 9
预期输出: (4,9)
开始你的任务吧,祝你成功!

# 引入numpy库
import numpy as np
# 定义cnmda函数
def cnmda(m,n):
    '''
    创建numpy数组
    参数:
		m:第一维的长度
        n: 第二维的长度
    返回值:
        ret: 一个numpy数组
    '''
    ret=0
    # 请在此添加创建多维数组的代码并赋值给ret
    #********** Begin *********#
    x=np.arange(n)
    ret=np.array([x]*m)
    #********** End **********#
    return ret

第2关 Numpy数组的基本运算

任务描述
本关的小目标是,学会Numpy二维数组的一些基本操作。

测试说明
本关的测试过程如下:
平台运行step5/caltest.py文件,并以标准输入方式提供测试输入;
caltest.py文件调用cal中的方法,平台获取caltest.py的输出,然后将其与预期输出作对比,如果一致,则测试通过;否则测试失败。
以下是平台对step5/caltest.py的测试样例:
a= np.array([[1,2,3],[4,5,6]])
b = [1,2,3]
测试输入: add
预期输出:
[[2 3 4]
[5 6 7]]
测试输入:mul
预期输出:
[[ 2 4 6]
[ 8 10 12]]
开始你的任务吧,祝你成功!

# 引入numpy库
import numpy as np
# 定义opeadd函数
def opeadd(m,b,n):
    '''
    参数:
    m:是一个数组
    b:是一个列表
    n:是列表中的索引
    你需要做的是 m+b[n]
    返回值:
    ret: 一个numpy数组
    '''    
    ret = 0

    #********** Begin *********#
    ret=m+b[n]
      #********** End **********#

    return ret
# 定义opemul函数
def opemul(m,b,n):
    '''
    参数:
    m:是一个数组
    b:是一个列表
    n:是列表中的索引
    你需要做的是 m*b[n]
    返回值:
    ret: 一个numpy数组
    '''
    ret = 0

    #********** Begin *********#
    ret=m*b[n]
    #********** End **********#
    return ret

第3关 Numpy数组的切片与索引

任务描述
本关的小目标是,从数组中选择指定的元素。

测试说明
本关的测试过程如下:
平台运行step2/cetest.py文件,并以标准输入方式提供测试输入;
cetest.py文件调用ce中的ce方法,平台获取cetest.py的输出,然后将其与预期输出作对比,如果一致,则测试通过;否则测试失败。
预处理的数组
[[1,2,3,4,5],[7,8,9,10,11],[12,13,14,15]]
以下是平台对step2/cetest.py的测试样例:
测试输入:
1
3
预期输出:
[7,8,9]
测试输入:
2
2
预期输出:
[12,13]
开始你的任务吧,祝你成功!

# 引入numpy库
import numpy as np
# 定义cnmda函数
def ce(a,m,n):
    '''
    参数:
    a:是一个Numpy数组
    m:是第m维数组的索引
    n:第m维数组的前n个元素的索引
    返回值:
    ret: 一个numpy数组
    '''
    ret = 0
    # 请在此添加切片的代码,实现找出多维数组a中第m个数组的前n个元素 并赋值给ret
    #********** Begin *********#
    ret=a[m,:n]
    #********** End **********#
    return ret

第4关 Numpy数组的堆叠

任务描述
本关的目标是,改变Numpy数组的形状。

测试说明
本关的测试过程如下:
平台运行step3/manipulationtest.py文件,并以标准输入方式提供测试输入;
manipulationtest.py文件调用manipulation中的三个方法,平台获取manipulationtest.py的输出,然后将其与预期输出作对比,如果一致,则测试通过;否则测试失败。
预处理数组:
a = np.array([[1,2,3],[4,5,6]])
b = np.array([[3,4,5],[7,8,9]])
以下是平台对step3/manipulationtest.py的测试样例:
测试输入: v
预期输出:
[[1 2 3]
[4 5 6]
[3 4 5]
[7 8 9]]
测试输入: d
预期输出:
[[[1 3]
[2 4]
[3 5]]
[[4 7]
[5 8]
[6 9]]]
开始你的任务吧,祝你成功!

# 引入numpy库
import numpy as np
# 定义varray函数
def  varray(m,n):
    '''
    参数:
    m:是第一个数组
    n:是第二个数组
    返回值:
    ret: 一个numpy数组
    '''
    ret = 0
    # 请在此添加代码实现数组的垂直叠加并赋值给ret
    #********** Begin *********#
    ret=np.vstack((m,n))
    #********** End **********#
    return ret
# 定义darray函数
def  darray(m,n):
    '''
    参数:
    m:是第一个数组
    n:是第二个数组
    返回值:
    ret: 一个numpy数组
    '''
    ret = 0
    # 请在此添加代码实现数组的深度叠加并赋值给ret
    #********** Begin *********#
    ret=np.dstack((m,n))
    #********** End **********#
    return ret
 # 定义harray函数
def  harray(m,n):
    '''
    参数:
    m:是第一个数组
    n:是第二个数组
    返回值:
    ret: 一个numpy数组
    '''
    ret = 0
    # 请在此添加代码实现数组的水平叠加并赋值给ret
    #********** Begin *********#
    ret=np.hstack((m,n))
    #********** End **********#
    return ret

第5关 Numpy的拆分

任务描述
本关的目标是,对Numpy数组进行拆分。

本关的测试过程如下:
平台运行step5/splitarraytest.py文件,并以标准输入方式提供测试输入;
splitarraytest.py文件调用splitarray中的三个方法方法,平台获取splitarraytest.py的输出,然后将其与预期输出作对比,如果一致,则测试通过;否则测试失败。
预处理数组:
a= np.arange(9).reshape(3,3)
c = np.arange(27).reshape(3,3,3)
以下是平台对step4/splitarraytest.py的测试样例:
测试输入: v
预期输出: [array([[0, 1, 2]]), array([[3, 4, 5]]), array([[6, 7, 8]])]
测试输入: h
预期输出: [array([[0],[3],[6]]), array([[1],[4],[7]]), array([[2],[5],[8]])]
开始你的任务吧,祝你成功!

# 引入numpy库
import numpy as np
# 定义varray函数
def  vsarray(m,n):
    '''
    参数:
    m:是第一个数组
    n:是需要拆分到的维度
    返回值:
    ret: 一个numpy数组
    '''
    ret = 0
    # 请在此添加代码实现数组的纵向拆分并赋值给ret
    #********** Begin *********#
    ret=np.vsplit(m,n)
    #********** End **********#
    return ret
# 定义darray函数
def  dsarray(m,n):
    '''
    参数:
    m:是第一个数组
    n:是需要拆分到的维度
    返回值:
    ret: 一个numpy数组
    '''
    ret = 0
    # 请在此添加代码实现数组的深度拆分并赋值给ret
    #********** Begin *********#
    ret=np.dsplit(m,n)
    #********** End **********#
    return ret
 # 定义harray函数
def  hsarray(m,n):
    '''
    参数:
    m:是第一个数组
    n:是需要拆分到的维度
    返回值:
    ret: 一个numpy数组
    '''
    ret = 0
    # 请在此添加代码实现数组的水平拆分并赋值给ret
    #********** Begin *********#
    ret=np.hsplit(m,n)
    #********** End **********#
    return ret

感谢您的关注!
请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1162059.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C# Winform串口助手

界面设置 修改控件name属性 了解SerialPort类 实现串口的初始化,开关 创建虚拟串口 namespace 串口助手 {public partial class Form1 : Form{public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){//在设计页面已经预先…

手写一个uniapp的步骤条组件

在template实现 <template><view class"process_more"><!-- 步骤条 --><view class"set-2" :key"index" v-for"(item,index) in options"><!-- 图片 --><view class"img-border"><…

造物者:专注游戏音乐创造——奏响游戏世界乐章

游戏的世界宛如一幅壮丽的画卷&#xff0c;由华丽的图像和引人入胜的故事构成&#xff0c;然而&#xff0c;其完美之作还有一部分不可或缺的元素&#xff0c;那就是音乐。在这个数字时代&#xff0c;北京造物者科技有限公司&#xff08;以下简称造物者&#xff09;正崭露头角&a…

【RP-RV1126】配置一套简单的板级配置

文章目录 官方配置新建一套新配置新建板级pro-liefyuan-rv1126.mk配置文件新建一个Buildroot的defconfigs文件 吐槽&#xff1a;RP-RV1126 的SDK奇怪的地方make ARCHarm xxx_defconfig 生成的.config文件位置不一样savedefconfig命令直接替换原配置文件坑爹的地方 Buildroot上增…

【本周骑行香杆箐活动简介】- 探索秋天的美景与健康同行

校长骑行的骑友们&#xff0c;大家好&#xff01;在这个秋高气爽的季节里&#xff0c;是不是已经跃跃欲试&#xff0c;想要投入大自然的怀抱&#xff0c;感受那无比清新的空气和金黄色的落叶呢&#xff1f;别再犹豫了&#xff0c;让我们一起骑行在香杆箐&#xff0c;体验一次不…

91 前K个高频元素

前K个高频元素 题解1 大根堆(STL) 给你一个整数数组 nums 和一个整数 k &#xff0c;请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 示例 1: 输入: nums [1,1,1,2,2,3], k 2 输出: [1,2] 示例 2: 输入: nums [1], k 1 输出: [1] 提示&#xff1a;…

KADP应用加密组件实现数据动态脱敏 安当加密

动态脱敏是一种针对敏感数据进行数据抽取、数据漂白和动态掩码的专业数据脱敏技术。它通过在不动数据库中原始数据的前提下&#xff0c;依据用户的角色、职责和其他IT定义身份特征&#xff0c;动态的对生产数据库返回的数据进行专门的屏蔽、加密、隐藏和审计。可确保不同级别的…

双十一数码推荐什么?双十一选购攻略大全!实用数码产品推荐!

​在双十一这个购物狂欢节里&#xff0c;各大品牌和商家都会推出各种优惠活动&#xff0c;为消费者提供丰富的购物选择。在这个特殊的日子里&#xff0c;你是否也准备为自己或亲朋好友选购一些数码好物呢?本次推荐将为你精选一些值得购买的数码产品&#xff0c;让你在双十一这…

MATLAB和西门子SMART PLC OPC通信

西门子S7-200SMART PLC OPC软件的下载和使用,请查看下面文章 Smart 200PLC PC Access SMART OPC通信_基于pc access smart的opc通信_RXXW_Dor的博客-CSDN博客文章浏览阅读2.7k次,点赞2次,收藏5次。OPC是一种利用微软COM/DCOM技术达成自动控制的协议,采用典型的C/S模式,针…

(01)Mycat说明与介绍

1、Mycat是什么 Mycat是一个数据库中间件&#xff0c;前身是阿里的cobar。 2、Mycat可以用来做什么 1.读写分离 2.数据分片 &#xff08;1&#xff09;垂直拆分 &#xff08;2&#xff09;水平拆分 &#xff08;3&#xff09;垂直水平拆分 3.多数据源整合 3、Mycat实现的…

前端出大事儿了

大家好&#xff0c;我是风筝 文章首发于 前端出大事儿了 最近这两天&#xff0c;在前端圈最火的图片莫过于下面这张了。 这是一段 React 代码&#xff0c;就算你完全没用过 React 也没关系&#xff0c;一眼看过去就能看到其中最敏感的一句代码&#xff0c;就是那句 SQL 。 咱…

Linux安装sysv-rc-conf报错:出现NO_PUBKEY...问题,急需安装证书的情况

Linux下安装MySQL时&#xff0c;出现一个使用chkconfig命令&#xff0c;但无该命令的情况&#xff01; chkconfig --add mysql # 出现chkconfig command not found于是就展开了一次替换的行动&#xff0c;将chkconfig替换为sysv-rc-conf 第一步&#xff1a; 尝试直接安装&am…

最新阿里云服务器优惠价格表,企鹅看了瑟瑟发抖!

今年2023年阿里云双十一优惠活动云服务器价格太低了&#xff0c;比腾讯云都便宜&#xff0c;轻量2核2G服务器3M带宽优惠价87元一年、2核4G4M带宽优惠价165元一年&#xff0c;云服务器ECS经济型e实例2核2G3M固定带宽优惠价格99元一年&#xff0c;还有2核4G、2核8G、4核8G、4核16…

Leetcode刷题---轮转数组

轮转数组 题目描述&#xff1a; Java中List是有序、可重复的单列集合&#xff0c;集合中的每个元素都有对应的顺序索引&#xff0c;我们可以通过该索引来访问指定位置上的集合元素。 思路&#xff1a; 首先选用list来存储中间结果。首先用k对n(数组长度)求余获取要移动的位数…

2023年【P气瓶充装】最新解析及P气瓶充装考试技巧

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 P气瓶充装最新解析参考答案及P气瓶充装考试试题解析是安全生产模拟考试一点通题库老师及P气瓶充装操作证已考过的学员汇总&#xff0c;相对有效帮助P气瓶充装考试技巧学员顺利通过考试。 1、【多选题】LNG加气站有哪些…

手把手教你使用媲美人声的AI配音神器

1、找到微信小程序界面 2、搜索番茄AI配音&#xff0c;找到番茄AI配音图标&#xff0c;点击进入小程序 3、复制粘贴文本到最上方的界面 4、在选择主播的地方&#xff0c;选择自己喜欢的主播声音 5、然后点击制作语音图标&#xff0c;制作成功之后可以试听一下 6、觉得满意之后&…

台灯太亮会导致近视吗?精选高品质的台灯

台灯相信很多家庭都会备上一台&#xff0c;用于办公、休闲或者给孩子学习使用&#xff0c;如果使用的台灯亮度过高的话&#xff0c;可能会对视力造成一定的影响&#xff0c;尤其是夜晚的时候。建议是选择带有亮度调节功能的台灯会比较好一点&#xff0c;可以自行根据周围环境的…

Winclone pro v10.2(Boot Camp分区备份还原工具)

Winclone Pro 10是一款专为Mac用户设计的高级Windows系统备份和迁移工具。它提供了强大而易于使用的功能&#xff0c;让用户能够轻松地创建、克隆和还原Windows系统&#xff0c;并在Mac上运行。 Winclone Pro 10的主要特点包括&#xff1a; 完整的系统备份和还原&#xff1a;…

右击文件或者文件夹使用vscode打开

平常我们在打开项目时&#xff0c;经常会需要快捷打开方式&#xff0c;直接使右键使用编辑器打开&#xff0c;但是有时在安装时忘记了选择 “Add “Open with Code” action to Windows Explorer file context menu” 在Windows资源管理器文件上下文菜单中添加“用代码打开”操…

初识Vue 输出Hello World 及注意事项

在我们还没接触Vue之前&#xff0c;我同学常说我可以直接在元素里输出JS的表达式吗&#xff1f;肯定是不太行。当我们接触vue.js后&#xff0c;这个想法成了现实。 每当我们学习一门新的语言或者框架时&#xff0c;我们都习惯打印一个“hello world”&#xff0c;在我们vue当中…