利用 Python 进行数据分析实验(三)

一、实验目的

使用Python解决简单问题

二、实验要求

自主编写并运行代码,按照模板要求撰写实验报告

三、实验步骤

本次实验共有4题:

  1. 自行给定一个从小到大排好序的数组,输入一个数并将其插入到原始数组中,新的数组还是满足从小到大的排列顺序
  2. 随机生成两个4*4的矩阵X和Y,要求用for循环取出X,Y矩阵对应位置的值,将其相减后放入新的矩阵Z中
  3. 随机输入一个矩阵,求它的逆矩阵并验证猜数字游戏,随机生成一个数x(1<x<10000),玩家每次输入一个数y,如果y大于或小于x,则给出相应提示,如y=x则表示数字猜对了。
    四、实验结果

T1


"""
自行给定一个从小到大排好序的数组
输入一个数并将其插入到原始数组中
新的数组还是满足从小到大的排列顺序
"""
import randomlength = random.randint(5, 10)  # 生成数组的长度
arr = []
for i in range(0, length):arr.append(random.randint(-100, 100))arr = sorted(arr)
print('原数组如下:' + str(arr))print("请输入一个数:")
num = int(input())
arr.append(num)
arr = sorted(arr)
print('重新排序后:' + str(arr))

T2

"""
随机生成两个4*4的矩阵X和Y
要求用for循环取出X,Y矩阵对应位置的值
将其相减后放入新的矩阵Z中
"""
import randomimport numpy as npx = np.zeros(shape=(4, 4))
y = np.zeros(shape=(4, 4))for i in range(0, 4):for j in range(0, 4):x[i][j] = random.randint(-100, 100)y[i][j] = random.randint(-100, 100)print('随机数组x:')
print(x)
print('随机数组y:')
print(y)# 等价于矩阵相减,此处使用for循环
z = np.zeros(shape=(4, 4))
for i in range(0, 4):for j in range(0, 4):z[i][j] = x[i][j] - y[i][j]
print('x - y = ')
print(z)

T3

按照实验要求,本题测试应该使用随机的矩阵(code 3实现)。但是逆矩阵各数值可能是无理数,且由于浮点数的精度问题,导致求出的逆矩阵各数值只是“近似”,进而导致验证出现问题,求解正确的逆矩阵被判定为求解错误.
故使使用一个相对特殊的情况进行求解(code 3-1实现)

"""
Code 3
随机输入一个矩阵,求它的逆矩阵并验证
遇到精度问题
"""
import randomimport numpy as npline = random.randint(2, 10)
row = line  # 方阵才有逆
x = np.random.randint(-100, 100, (line, row))"""
按照实验要求应该使用由随机数生成的矩阵
但是由于浮点数的精度问题,且逆矩阵各数值可能是无理数
所以导致求出的逆矩阵各数值只是“近似”
进而导致验证出现问题
"""
print('原矩阵:')
print(x)inv = np.matrix(np.linalg.inv(x))
print('原矩阵的逆:')
print(inv)res = np.matrix(x) * inv
print(res)"""
Code 3-1
随机输入一个矩阵,求它的逆矩阵并验证
"""
import numpy as npprint('请输入方阵大小:')
size = int(input())
s = ''
irr = 0for i in range(0, int(size)):s = s + input()mat = np.zeros(shape=(size, size))for i in range(0, len(s)):mat[int(irr / size)][irr % size] = s[irr]irr = irr + 1inv = np.matrix(np.linalg.inv(mat))res = mat * inv
print(inv)
print(res)

T4

"""
猜数字游戏,随机生成一个数x(1<x<10000),玩家每次输入一个数y
如果y大于或小于x,则给出相应提示,如y=x则表示数字猜对了。
"""
import randomx = random.randint(1, 10000)def check(flag):if int(flag) > int(x):bigger()return Falseelif int(flag) < int(x):smaller()return Falseelse:print('Congratulations!')return Truedef bigger():print('too big')def smaller():print('too small')while True:y = input()if check(y):exit(0)

五、实验体会

查询资料,显示Python中使用双精度浮点数来存储小数,8字节64位存储空间分配了52位来存储浮点数的有效数字,11位存储指数,1位存储正负号(本质上是二进制表示的科学计数法),舍入(round)的规则为“0 舍 1 入”。
如果需要更高精度,可以使用类型Decimal并使用decimal.Decimal() 来存储精确的数字。或者使用Fraction模块来表示分数进行运算。

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

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

相关文章

【Effective C++】条款5:了解C++默默编写并调用了哪些函数

某些情况下&#xff0c;编译器会拒绝为你提供默认构造函数 template<class T> class NameObject { public:NameObject(string& name, const T& object):nameValue(name),objectValue(object){} private:string& nameValue;const T objectValue; };int main(…

mixamo根动画导入UE5问题:滑铲

最近想做一个跑酷游戏&#xff0c;从mixamo下载滑铲动作后&#xff0c;出了很多动画的问题。花了两周时间&#xff0c;终于是把所有的问题基本上都解决了。 常见问题&#xff1a; 1.【动画序列】人物不移动。 2.【动画序列】人物移动朝向错误。 3.【蒙太奇】人物移动后会被拉回…

java的多线程技术概览

java的多线程技术 前言今天学习大纲是多线程第一步&#xff1a;学习基础知识第二步&#xff1a;深入学习第三步&#xff1a;实践项目第四步&#xff1a;深度理解高级主题 前言 时代变了&#xff0c;旧的知识需要重新拿起&#xff0c;今天开始记录自己所学同时也是给自己一个复…

谈谈 .NET8 平台中对 LiteDB 的 CRUD 操作

哪个啥&#xff01;纯 C# 编写的 LiteDB 你还不会操作&#xff1f; LiteDB 简介LiteDB 安装1、同步版 LiteDB2、异步版 LiteDB.Async LiteDB StudioLiteDB CRUD 操作举例1、.net cli 命令创建项目2、项目添加相关 nuget 包3、改造项目结构4、改造项目代码 LiteDB vs SQLite 对比…

PostgreSQL 实现 Oracle 多表插入语句

Oracle 数据库提供了一个多表插入功能&#xff0c;也就是 INSERT ALL 语句。这个功能可以方便数据仓库中的 ETL 操作&#xff0c;基于不同逻辑将数据插入一个或者多个不同的表中。 PostgreSQL 被称为开源领域的 Oracle&#xff0c;虽然没有提供 INSERT ALL 语句&#xff0c;但…

用c#实现记事本的功能

知识点&#xff1a; openFileDialog1 是一个 Windows 窗体应用程序中的控件&#xff0c;用于实现文件选择对话框的功能。它是 System.Windows.Forms.OpenFileDialog 类的一个实例。 OpenFileDialog 控件允许用户浏览文件系统并选择要打开的文件。它提供了一些属性和方法&#x…

怎样挖掘客户的需求?有哪些方法?

需求是什么&#xff1f; 需求是人们在某一特定的时期内在愿意付出各种可能的成本&#xff08;时间、精力、现金&#xff09;购买某个具体或者虚拟的商品、服务的数量或数量集合。例如肚子饿了又懒得做&#xff0c;在线点餐外送就是一种需求&#xff0c;用户愿意多花费比线下饭…

JAVA8时间日期类详解

JAVA8 时间日期类 LocalDateTime类(用于代替Date类使用) 用于表示没有时区信息的日期和时间,这个类是不可变的,线程安全的,用于处理日期和时间 LocalDateTime类常用API 常用方法 方法名说明public static LocalDateTime now()获取当前日期与时间public static LocalDateTi…

MySQl int(1)、int(20) 的区别到底在哪里

MySQl int(1)、int(20) 的区别到底在哪里 常思一二&#xff0c;便得自然… int(1)数据类型介绍 在MySQL中&#xff0c;INT(1) 是一种定义整数类型的数据字段&#xff0c;其中的数字表示显示宽度而不是存储范围。具体说&#xff0c;INT(1) 中的数字 1 表示显示宽度&#xff0…

前端小技巧: 写一个异步程序示例, 使用任务队列替代promise和async/await等语法糖

异步程序设定场景 1 &#xff09;场景设定 可以使用懒人每做几件事&#xff0c;就要休息一会儿&#xff0c;并且不会影响做事的顺序这种场景来模拟定义单例名称为: lazyMan支持 sleep 和 eat 两个方法支持链式调用 2 ) 调用示例 const lm new LazyMan(www) lm.eat(苹果).…

LinuxBasicsForHackers笔记 --添加和删​​除软件

使用apt处理软件 apt (Advanced Packaging Tool)。可以使用 apt-get 下载和安装新的软件包&#xff0c;也可以用它更新和升级软件。 许多 Linux 用户更喜欢使用 apt 命令而不是 apt-get。它们在很多方面都很相似&#xff0c;但 apt-get 具有更多功能。 搜索包 在下载软件包之…

高级搜索——ST表,离线RMQ问题

文章目录 前言可重复贡献问题ST表的定义ST表的存储结构ST表的预处理预处理的实现 ST表的区间查询对于k的获取区间查询的实现 OJ链接 前言 对于查询区间最值的方法&#xff0c;我们常用的就是线段树&#xff0c;树状数组&#xff0c;单调队列&#xff0c;而树状数组更适合用于快…

解决Qt发送信号指定重载

现象 信号发送者找不到正确的信号函数 connect(ui->LSpinBox,&QSpinBox::valueChanged,ui->hSlider,&QSlider::setValue);QSpinBox的valueChanged函数分为int和QString两种&#xff0c;存在函数重载&#xff0c;需让编译器加以区分。 不区分的话会爆出&#xff1…

让 ChatGPT 永远重复输出一个词,它就能告诉你很多秘密数据?国内的大模型表现如何?

文章目录 让 ChatGPT 永远重复输出一个词&#xff0c;它就能告诉你很多秘密数据&#xff1f;国内的大模型表现如何&#xff1f;文心一言通义千问百川智能智普清言moonshot星火附件ChatGPT Data Extraction Example 让 ChatGPT 永远重复输出一个词&#xff0c;它就能告诉你很多秘…

【互斥锁不当使用导致的条件竞争】2021_DiceCTF_hashbrown

前言 这个题目还挺有意思的&#xff0c;他并不像之前做的题目直接给你一个贴脸的 UAF 等&#xff0c;而是把 UAF 放在了条件竞争的环境下&#xff0c;其实条件竞争这个漏洞在内核中经常出现。 这里题目没有去符号&#xff0c;所以逆向的难度不是很大&#xff0c;但作者似乎在…

Android蓝牙协议栈fluoride(二) - 软件框架

概述 fluoride 协议栈在整个软件框架中作为一个中间件的角色&#xff0c;向上对接APP&#xff0c;向下对接蓝牙芯片。fluoride采用C语言实现&#xff0c;与APP(Jave)通信采用JNI机制&#xff1b;与蓝牙芯片通信使用HCI硬件接口&#xff08;HCI软件协议参考蓝牙核心规范&#x…

[ffmpeg] find 编码器

背景 整理 ffmpeg 中&#xff0c;如何通过名字或者 id 找到对应编码器的。 具体流程 搜索函数 avcodec_find_encoder // 通过 ID 搜索编码器 avcodec_find_encoder_by_name // 通过名字搜索编码器源码分析 ffmpeg 中所有支持的编码器都会注册到 codec_list.c 文件中&…

毕设:《基于hive的音乐数据分析系统的设计与实现》

文章目录 环境启动一、爬取数据1.1、歌单信息1.2、每首歌前20条评论1.3、排行榜 二、搭建环境1.1、搭建JAVA1.2、配置hadoop1.3、配置Hadoop环境&#xff1a;YARN1.4、MYSQL1.5、HIVE(数据仓库)1.6、Sqoop&#xff08;关系数据库数据迁移&#xff09; 三、hadoop配置内存四、导…

笙默考试管理系统-MyExamTest----codemirror(45)

笙默考试管理系统-MyExamTest----codemirror&#xff08;44&#xff09; 目录 笙默考试管理系统-MyExamTest----codemirror&#xff08;44&#xff09; 一、 笙默考试管理系统-MyExamTest----codemirror 二、 笙默考试管理系统-MyExamTest----codemirror 三、 笙默考试…

【华为OD题库-085】路灯照明II-Java

题目 在一条笔直的公路上安装了N个路灯&#xff0c;从位置0开始安装&#xff0c;路灯之间间距固定为100米。 每个路灯都有自己的照明半径&#xff0c;请计算第一个路灯和最后一个路灯之间&#xff0c;无法照明的区间的长度和。输入描述 第一行为一个数N&#xff0c;表示路灯个数…