Numpy数值计算Numpy 进阶在线闯关_头歌实践教学平台

news2024/11/16 5:50:41

Numpy数值计算进阶

  • 第1关 Numpy 广播
  • 第2关 Numpy 高级索引
  • 第3关 Numpy 迭代数组

第1关 Numpy 广播

任务描述
本关任务:给定两个不同形状的数组,求出他们的和。

编程要求
首先用 arange() 生成一个数组,然后用 reshape() 方法,将数组切换成 4x3 的形状,最后再与 basearray 相加,输出它们的和。
请按照编程要求,补全右侧编辑器 Begin-End 内的代码。
测试说明
平台会对你编写的代码进行测试:
测试输入:
12;
预期输出:
[[ 1 3 5]
[ 4 6 8]
[ 7 9 11]
[10 12 14]]
开始你的任务吧,祝你成功!

import numpy as np
basearray = eval(input())
# *********** Begin ************ #
arr=np.arange(12).reshape(4,3)
# ************ End ************* #
print("{} + \n{}".format(arr,basearray))
print("结果为:\n{}".format(basearray+arr))

第2关 Numpy 高级索引

任务描述
本关任务:给定一个二维数组,请以整数数组索引、布尔索引、花式索引三种方式,来获取我们需要的数组元素。

编程要求
首先,利用花式索引获取 arr 数组第 line 行(至少两行)的数组 a;然后,利用整数数组索引获取数组四个角(按行优先的顺序获取)的元素得到数组 b;最后,再利用布尔索引获取大于 10 的元素得到数组 c,并输出 c。
请按照编程要求,补全右侧编辑器 Begin-End 内的代码。
测试说明
平台会对你编写的代码进行测试:
测试输入:
1,2,3,4;
预期输出:
[16 19]
开始你的任务吧,祝你成功!

import numpy as np

'''
arr为一个ndarray类型的数组,line为花式索引的索引数组
'''
def advanced_index(arr,line):
    # ********** Begin *********** #
    a = arr[line]
    b = a[[0, 0, (len(line)-1),(len(line)-1)],[0, 3, 0, 3]]
    c = b[b > 10]
    # *********** End ************ #
    return c

def main():
    line = list(map(lambda x:int(x),input().split(",")))
    arr = np.arange(24).reshape(6, 4)
    print(advanced_index(arr,line))

if __name__ == '__main__':
    main()

第3关 Numpy 迭代数组

任务描述
本关任务:利用本关相关知识,将一个 ndarray 类型的数组,顺时针旋转 90 度后输出。

编程要求
根据提示,在右侧编辑器 Begin-End 内补充代码,将一个 ndarray 类型的数组顺时针旋转 90 度后输出。
提示:
建议使用外部循环;
np.vstack()可以将两个数组竖直堆叠成为新的数组。
测试说明
平台会对你编写的代码进行测试:
测试输入:
np.arange(4).reshape(2,2);
预期输出:
[[2, 0]
[3, 1]]
开始你的任务吧,祝你成功!

import numpy as np

'''传入的参数为ndarray类型数组'''
def rotate_array(arr):
    # ******* Begin ******* #
    i = 0
    result = []
    for x in np.nditer(arr, flags=['external_loop'], order='F'):
        x = x[:: -1]
        if i == 0:
            result = x
            i += 1
        else:
            result = np.vstack((result, x))
            i += 1

    # ******* End ******** #
    return result

def main():
    arr = eval(input())
    print(rotate_array(arr))

if __name__ == '__main__':
    main()

点个关注吧,感谢支持!
请添加图片描述

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

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

相关文章

Java入门篇 之 逻辑控制(练习题篇)

博主碎碎念: 练习题是需要大家自己打的请在自己尝试后再看答案哦; 个人认为,只要自己努力在将来的某一天一定会看到回报,在看这篇博客的你,不就是在努力吗,所以啊,不要放弃,路上必定坎坷&#x…

Windows 11 PowerShell 安装 jq 命令

本心、输入输出、结果 文章目录 Windows 11 PowerShell 安装 jq 命令前言jq 命令简介基本语法案例 Windows 11 PowerShell 安装 jq 命令使用 jq 格式化 curl 输出的 json弘扬爱国精神 Windows 11 PowerShell 安装 jq 命令 编辑:简简单单 Online zuozuo 地址&#xf…

微型计算机组成原理

1、微型计算机组成 一个传统微型计算机硬件组成如下图 CPU通过地址线、数据线和控制信号线组成的本地总线(内部总线)与系统其他部分进行数据通信。 地址线用于提供内存或I/O设备的地址,即指明需要读/写数据的具体位置;数据线用…

项目实战之安装依赖npm install

文章目录 nvmdeasync包和node-gyp报错deasync包node-gyp报错 前言:有些人看着还活着其实已经凉了好一会儿了。 初拿到项目 初拿到项目肯定是先看配置 package.json的啦,看看都需要安装什么依赖,然后 npm install,OK结束 皆大欢喜。 ————…

OMV 介绍及安装

# Time: 2023/11/02 #Author: Xiaohong # 运行电脑: Lenovo X201I (Intel(R) Core(TM) i3 CPU M 370 2.40GHz) # 功能: OMV 介绍及安装 导图 若OMV6 安装Extras 插件失败,可以参考 OMV6 安装Extras 插件失败的解决方法

LV.12 D15 WDT实验 学习笔记

一、WDT简介 WDT Watch Dog Timer即看门狗定时器,其主要作用是当发生软件故障时可产生复位信号使SOC复位,其本质是一个计数器 工作原理 CPU正常工作时,需要定时往看门狗计数器里刷新一个比较大的值,来保证看门狗计数器中的值不会…

网络安全进阶学习第二十一课——XML介绍

文章目录 一、XML简介二、XML文档结构1、XML文档结构包括2、XML树结构 三、XML语法1、声明信息,用于描述xml的版本和编码方式2、XML有且只有一个根元素3、成对标签(即标签必须关闭,html可以不关闭也能运行)4、区分大小写5、不可交…

广汽传祺E9上市,3DCAT实时云渲染助力线上3D高清看车体验

今年5月21日,中国智电新能源旗舰MPV——广汽传祺智电新能源E9在北京人民大会堂举办上市发布会。 发布会现场(图源官方) 为了让更多的消费者能够在线上感受到广汽传祺E9的魅力,3DCAT实时渲染云与大圣科技合作为广汽传祺打造了一款…

文件批量改名:不再担心文件名太长,一键高效重命名文件的方法

在日常生活和工作中,我们经常遇到文件名过长的问题。过长的文件名可能会使得文件难以理解和管理,甚至导致一些错误。本文将介绍云炫文件管理器批量修改文件名的技巧,帮助您快速高效地处理文件名过长的问题。这些技巧可以广泛应用于日常生活和…

LeetCode 143. 重排链表(双指针、快慢指针)

题目: 链接:LeetCode 143. 重排链表 难度:中等 给定一个单链表 L 的头节点 head ,单链表 L 表示为: L0 → L1 → … → Ln-1 → Ln 请将其重新排列后变为: L0 → Ln → L1 → Ln-1 → L2 → Ln-2 → … 不…

基于51单片机摩尔斯电码收发控制系统设计

**单片机设计介绍,1659【毕设课设】基于51单片机摩尔斯电码收发控制系统设计(仿真电路,程序) 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于51单片机的摩尔斯电码收发控制系统…

计算机编程入门,编程入门从什么学起,给大家分享一款中文编程工具,零基础学编程

计算机编程入门,编程入门从什么学起,给大家分享一款中文编程工具,零基础学编程 中文编程从入门到精通,中文编程语言开发工具分享 给大家分享一款中文编程工具,零基础轻松学编程,不需英语基础,…

企业上ERP的节奏商讨

导读:目前国内很多企业都选择ERP作为企业信息化系统,ERP系统的实施是一个系统的工程,实施过程中只有遵循正确的步骤,才能达到事半功倍的效果。 企业建立ERP管理系统,不是把现有的手工管理模式照搬到计算机上来操作&…

新体验:万圣节夜晚的新游戏!--愤怒的南瓜

引言: Chatgpt4.0 所带来的冲击似乎远超出人们想象,网页小游戏《愤怒的南瓜》在昨日(万圣节夜晚)火爆了外网。一位名为 Javi Lopez 的外国小哥使用 Midjourney、DALL•E 3 和 GPT-4 打开了一个无限可能的世界,重新演绎…

Centos7快速重置root密码

1、重新启动Centos7,5秒内按向下方向键,使其停留在开机界面,如下图。 2、按’e’键,进入如下界面,移动向下方向键至“linux16”开头的行。然后按向右的方向键移动,找到“ro”并将其修改为“rw init/sysroot/bin/bash…

[动态规划] (三) LeetCode 746. 使用最小花费爬楼梯

[动态规划] (三)LeetCode 746. 使用最小花费爬楼梯(两种解法) 文章目录 [动态规划] (三)LeetCode 746. 使用最小花费爬楼梯(两种解法)题目解析解题思路状态表示状态转移方程初始化和填表顺序返回值状态表示状态转移方程初始化和填表顺序返回值 代码实现总结 746. 使用最小花费爬…

建议没用过这个的社区人都来试试!

不是吧,还有社区工作者不知道这个好东西嘛? 就是这个——写作火火,是写报告、方案一把好手啊 直接输入想写的内容,几秒钟报名啊方案啊就来了,不满意可以重新写,直到你满意为止,真的很方便。 …

mybatisplus查询百万数据慢问题

1.遇到的问题 本次查询的数据是一个视图,查询的数据量也比较大,整体有百万数据。 错误提示: 2023-11-02 07:55:52 [http-nio-11605-exec-3] ERROR c.a.druid.filter.stat.StatFilter [] [] - slow sql 6568 millis. SELECT COUNT(1) FROM (…

乐鑫工程部署过程记录

一、获取编译环境 1、下载sdk,ESP-IDF 这里有很多发布版本,当前我选择的是4.4.6,可以选择下载压缩包,也可以git直接clone 2、配置编译环境 我选择的是Linux Ubuntu下部署开发环境 查看入门指南 选择对应的芯片,我…

C语言 每日一题 11

1.使用函数求素数和 本题要求实现一个判断素数的简单函数、以及利用该函数计算给定区间内素数和的函数。 素数就是只能被1和自身整除的正整数。注意:1不是素数,2是素数。 函数接口定义: int prime(int p); int PrimeSum(int m, int n); 其中…