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

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.hqwc.cn/news/157380.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信小程序导入js使用时候报错

我是引入weapp库时候,导入js会报错。 需要在小程序开发工具里面配置 就可以了。

在微信小程序怎么领取优惠券

随着科技的发展,微信小程序已经成为我们日常生活中不可或缺的一部分。它为我们提供了各种各样的服务,使我们的生活变得更加便捷。而在这些服务中,领取优惠券成为了大家特别喜欢的功能之一。本文将详细介绍如何在微信小程序中领取优惠券&#…

docker 存储目录迁移

参考:【Docker专题】WSL镜像包盘符迁移详细笔记 - 掘金 docker迁移 一 默认目录 Windows版本(Windows 10 wsl 2)docker 默认程序安装到c盘,数据存放于 C:\Users\当前用户名\AppData\Local\Docker\wsl\data\ext4.vhdx 这样会导致…

人工智能基础_机器学习011_梯度下降概念_梯度下降步骤_函数与导函数求解最优解---人工智能工作笔记0051

然后我们来看一下梯度下降,这里先看一个叫 无约束最优化问题,,值得是从一个问题的所有可能的备选方案中选最优的方案, 我们的知道,我们的正态分布这里,正规的一个正态分布,还有我们的正规方程,他的这个x,是正规的,比如上面画的这个曲线,他的这个x,就是大于0的对吧,而现实生活…

SpringMVC Day 11 : 零 xml 配置

前言 欢迎来到《Spring MVC Day 11: 零XML配置》!在之前的学习中,我们已经掌握了如何使用Spring MVC框架构建灵活、高效的Web应用程序。然而,我们可能还记得那些繁琐的XML配置文件,它们是我们在过去几天中使用的方式。 好消息是…

企业服务总线ESB有什么作用?和微服务有什么区别?会如何发展?

企业服务总线ESB是什么 下面这张图,稍微了解些IT集成的朋友应该不陌生。 随着信息化发展不断深入,企业在不同的阶段引入了不同的应用、系统和软件。这些原始的应用系统互不连通,如同一根根独立的烟囱。 但是企业业务是流程化的,…

分享一下商城小程序怎么做

随着移动互联网的普及,越来越多的用户开始使用商城小程序进行购物。商城小程序不仅方便快捷,还能享受更多的优惠和福利。本文将探讨如何打造一个成功的商城小程序,并分享一些实用的策略和案例。 了解用户需求是打造商城小程序的第一步。我们需…

python实现MC协议(SLMP 3E帧)的TCP服务端(篇二)

python实现MC协议(SLMP 3E帧)的TCP服务端是一件稍微麻烦点的事情。它不像modbusTCP那样,可以使用现成的pymodbus模块去实现。但是,我们可以根据协议帧进行组包,自己去实现帧的格式,而这一切可以基于socket模…

Spring学习笔记

文章目录 Spring框架Spring入门Spring第一个程序启用Log4j2日志框架 Spring对IoC的实现set注入构造注入set注入专题p命名空间注入c命名空间注入util命名空间基于XML的自动装配spring引入外部属性配置文件 Bean的作用域GoF之工厂模式工厂模式的三种形态 Bean的获取方式Bean的生命…

Java Soce

1.Server and client server 我们经常需要关闭一些实例,比如server,所以我们使用这个接口,来实现自动关闭。 我们可以这样写,手动关闭server public class Server {public static void main(String args[]){try {ServerSocket…

HTTP和HTTPS本质区别——SSL证书

HTTP和HTTPS是两种广泛使用的协议,尽管它们看起来很相似,但是它们在网站数据传输的安全性上有着本质上的区别。 HTTP是明文传输协议,意味着通过HTTP发送的数据是未经加密的,容易受到拦截、窃听和篡改的风险。而HTTPS通过使用SSL或…

笔记本电脑怎么录屏?超简单的步骤教你轻松搞定

随着信息技术的发展,笔记本电脑已经成为了人们日常工作和学习的重要组成部分。而录屏功能作为笔记本电脑的一项重要功能,可以帮助我们录制电脑上的画面和声音,以便演示、教学或保存重要信息。可是笔记本电脑怎么录屏呢?接下来&…