当前位置: 首页 > news >正文

Vue如何利用Postman和Axios制作小米商城购物车

小编最近太忙了,没来得及更新博客!上一条博客我们写了小米商城购物车的简版,今天我们就在简版的基础之上来增加一些功能,写一下数量的加减、总价、删除(批量删除)、全选取消全选等功能。如果上一条博客没有看到的可以点进小编的主页查看喔!

一、购物车数量的加减

要实现加减的功能,首页看到加减我们就知道要把这个方法写在methods方法属性里面,这里的话加我们用add,减我们用sub。要想实现点一下鼠标加一个数量或者点击鼠标减一个数量,我们要利用for循环来做。

(一)加:

add(id) {

                    for (let i = 0; i < this.fruitList.length; i++) {

                        if (this.fruitList[i].id === id) {

                            this.fruitList[i].num++;

                        }

                    }

                }

代码解释:遍历this.fruitList 数组,检查当前水果的id是否等于传入的id如果找到匹配的水果,将其数量加上1。

(二)减:

sub(id) {

                    for (let i = 0; i < this.fruitList.length; i++) {

                        if (this.fruitList[i].id === id) {

                            if (this.fruitList[i].num > 1) {

                                this.fruitList[i].num--;

                            }

                        }

                    }

                }

代码解释:遍历this.fruitList 数组,检查当前水果的id是否等于传入的id,如果找到匹配的水果,并且其数量大于1,才能够减少数量,接着进行数量的减减操作,在进行减的操作的时候,有必要的话,我们可以进行判断,避免选择的数量为负数。

二、删除

看到上述加减的方法之后,我们也应该知道删除也应该是写在methods里面的对吧,那么删除的话我们就不需要利用for循环遍历了。

del(id) {

                    this.fruitList = this.fruitList.filter(item => item.id !== id);

                }

代码解释:通过filter方法创建一个新的数组,保留所有id不等于传入id的水果,将过滤后的新数组重新赋值给this.fruitList,从而删除指定的水果。

三、批量删除

delSelected() {

                    this.fruitList = this.fruitList.filter(item => !item.isChecked);

                }

代码解释:把批量删除的代码写在methods方法里面,首先遍历this.fruitList数组,保留isChecked属性为false的水果(也就是未被我们选中的东西),紧接着将过滤后的新数组重新赋值给this.fruitList,从而删除所有被选中的水果。

四:全选(不全选)

if (this.fruitList.length === 0) {

                        this.isAll = false;

                    }

代码解释:检查删除后this.fruitList是否为空数组,如果this.fruitList为空,则将isAll属性设置为false

五、总价计算

总价=单个数量*单个数量价格,这里的话物品不同我们还要把每一种物品的总价进行相加,才得到最终的总价,这里话总价计算我们要写在计算机属性computed里面。

computed: {

                totalPrice() {

                    let sum = 0;

                    for (let item of this.fruitList) {

                        if (item.isChecked) {

                            sum += item.num * item.price;

                        }

                    }

                    return sum;

                },

                totalCount() {

                    let count = 0;

                    for (let item of this.fruitList) {

                        if (item.isChecked) {

                            count += item.num;

                        }

                    }

                    return count;

                }

            }

代码解释:初始化一个变量sum,用于累加总价格,初始值为0,使用for of 循环遍历this.fruitList数组,其中item是数组中的每个水果对象,检查当前水果的isChecked属性是否为true,即是否被选中,如果水果被选中,将其数量乘以单价得到该水果的总价,返回累加后的总价格。

HTML核心代码如下:

 <div class="app-container" id="app">

            <div class="breadcrumb">

                <img class="logo" src="img/7.png" alt="">

                <span class="span1">我的购物车</span>

                <span class="span2">温馨提示:产品是否购买成功,以最终下单为准哦,请尽快结算</span>

                <span class="span3"> 2909696753 | 我的订单</span>

            </div>

            <!-- 购物车主体 -->

            <div v-if="fruitList.length > 0" class="main">

                <div class="table">

                    <!-- 头部 -->

                    <div class="thead">

                        <div class="tr">

                            <div class="th">

                                <!-- 全选 -->

                                <label class="check-all">

                                    <input type="checkbox" v-model="isAll">

                                    全选

                                </label>

                            </div>

                            <div class="th th-pic">商品名称</div>

                            <div class="th">单价</div>

                            <div class="th num-th">数量</div>

                            <div class="th">小计</div>

                            <div class="th">操作</div>

                        </div>

                    </div>

                    <!-- 身体 -->

                    <div class="tbody">

                        <div v-for="(item,index) in fruitList" :key="item.id" :class="{tr:true,active: item.isChecked}">

                            <div class="td"><input type="checkbox" class="mycheck" v-model="item.isChecked" /></div>

                            <div class="td goods"><img v-bind:src="item.icon" alt="" />{{item.name}}</div>

                            <div class="td">{{item.price}}</div>

                            <div class="td">

                                <div class="my-input-number">

                                    <!--当num小于等于1时禁用-号-->

                                    <button :disabled="item.num <= 1" @click="sub(item.id)" class="decrease"> -

                                    </button>

                                    <span class="my-input__inner">{{item.num}}</span>

                                    <button @click="add(item.id)" class="increase"> + </button>

                                </div>

                            </div>

                            <div class="td">{{ item.num * item.price }}</div>

                            <div class="td"><button class="delbutton" v-on:click="del(item.id)">×</button></div>

                        </div>

                    </div>

                </div>

                <!-- 底部 -->

                <div class="bottom">

                    <div class="leftbox">

                        <span>继续购物已选择:<span class="textcol">{{totalCount}}</span>件</span>

                    </div>

                    <div class="right-box">

                        <span class="price-box">

                            合计&nbsp;&nbsp;:&nbsp;&nbsp;&nbsp;

                            <span class="price">{{totalPrice}}</span>元

                        </span>

                        <!-- 删除按钮 -->

                        <button class="delete" @click="delSelected">删除选中</button>

                        <button class="pay">去结算</button>

                    </div>

                </div>

            </div>

        </div>

实现效果视频如下: 动态-哔哩哔哩

如果有需要小编代码的可以私信小编!欢迎和大家一起交流学习!

相关文章:

Vue如何利用Postman和Axios制作小米商城购物车

小编最近太忙了&#xff0c;没来得及更新博客&#xff01;上一条博客我们写了小米商城购物车的简版&#xff0c;今天我们就在简版的基础之上来增加一些功能&#xff0c;写一下数量的加减、总价、删除&#xff08;批量删除&#xff09;、全选取消全选等功能。如果上一条博客没有…...

使用Windows工具进行内存取证(不进行完全内存转储)

内存取证是分析易失性内存以发现恶意活动、恶意软件行为或系统异常的强大技术。一般情况下调查员会转储全部物理内存&#xff0c;并使用Volatility等工具对其进行分析。然而在许多实际场景中&#xff0c;由于系统限制、安全策略或紧迫性等原因&#xff0c;完全转储可能并不可行…...

大厂文章阅读

1.异步任务处理系统&#xff0c;如何解决业务长耗时、高并发难题&#xff1f; 1)任务失败如何处理(CAS失败也可用)&#xff1a;1.指数退避,匹配下游任务执行系统的处理能力。比如收到下游任务执行系统的流控错误&#xff0c;或者感知到任务执行成为瓶颈&#xff0c;需要指数退…...

ubuntu 服务器版本常见问题

一、系统安装与初始化 1. 安装过程中断或失败 原因:镜像损坏、硬件兼容性、磁盘分区错误。 解决: 验证 ISO 文件的完整性(计算 SHA256 校验和)。 检查 BIOS/UEFI 设置(禁用 Secure Boot)。 使用手动分区模式,确保根分区(/)和 EFI 分区(如有)正确配置。 2. 系…...

第十五届蓝桥杯大赛软件赛省赛Python 大学 B 组试做(下)【本期题单: 缴纳过路费, 纯职业小组】

本期题单&#xff1a;缴纳过路费&#xff0c;纯职业小队 文章目录 缴纳过路费题目思路分析代码 纯职业小组题目思路分析 感谢大伙观看&#xff0c;别忘了三连支持一下大家也可以关注一下我的其它专栏&#xff0c;同样精彩喔~下期见咯~ 缴纳过路费 题目 题目链接&#xff1a;缴…...

【Hadoop入门】Hadoop生态之Oozie简介

1 什么是Oozie&#xff1f; Oozie是Apache基金会下的一个开源工作流调度系统&#xff0c;专门设计用于管理Hadoop作业。作为一个基于工作流的调度服务器&#xff0c;它能够在复杂的任务依赖关系中协调Hadoop MapReduce、Pig、Hive等任务的执行&#xff0c;是大数据平台中任务编…...

【Amazon EC2】为何基于浏览器的EC2 Instance Connect 客户端连接不上EC2实例

文章目录 前言&#x1f4d6;一、报错先知❌二、问题复现&#x1f62f;三、解决办法&#x1f3b2;四、验证结果&#x1f44d;五、参考链接&#x1f517; 前言&#x1f4d6; 这篇文章将讲述我在 Amazon EC2 上使用 RHEL9 AMI 时无法连接到 EC2 实例时所遇到的麻烦&#x1f616; …...

【大模型系列篇】最强检索增强技术GraphRAG基本原理详解

GraphRAG是一种结合了知识图谱&#xff08;Knowledge Graph&#xff09;和大型语言模型&#xff08;Large Language Model, LLM&#xff09;的检索增强生成&#xff08;Retrieval-Augmented Generation, RAG&#xff09;技术。它通过引入图结构化的知识表示和处理方法&#xff…...

【高阶数据结构】第二弹---图的深度解析:从基本概念到邻接矩阵的存储与操作

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】【高阶数据结构】 目录 1、图的基本概念 2、图的存储结构 2.1、邻接矩阵 2.1.1、基本结构 2.1.2、图的创建 2.1.3、获取顶点下标…...

【Java实战】——手撕斐波那契数列

&#x1f381;个人主页&#xff1a;User_芊芊君子 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 &#x1f50d;系列专栏&#xff1a;【Java】内容概括 这里写目录标题 1.什么是斐波那契数列&#xff1f;2.代码实现2.1 递归实现2.2 迭代实现 3.执行结果 …...

Python数据可视化-第7章-绘制3D图表和统计地图

环境 开发工具 VSCode库的版本 numpy1.26.4 matplotlib3.10.1 ipympl0.9.7教材 本书为《Python数据可视化》一书的配套内容&#xff0c;本章为第7章 绘制3D图表和统计地图 本章首先介绍了使用mplot3d工具包绘制3D图表&#xff0c;然后介绍了使用animation模块制作动画&#…...

操作系统 4.2-键盘

键盘中断初始化和处理 提取的代码如下&#xff1a; // con_init 函数&#xff0c;初始化控制台&#xff08;包括键盘&#xff09;的中断 void con_init(void) {set_trap_gate(0x21, &keyboard_interrupt); } ​ // 键盘中断处理函数 .globl _keyboard_interrupt _keyboard…...

24.0.2 双系统ubuntu 安装显卡驱动黑屏,系统启动界面键盘失灵

问题描述&#xff1a;通过run文件在ubuntu 界面版安装nvidia 驱动后&#xff0c;忽然黑屏&#xff0c;再次启动时&#xff0c;键盘鼠标失灵无法选择系统&#xff0c;只能进入ubuntu界面。第二个问题是ubuntu 也无法用户登录&#xff0c;左上角光标闪烁。 查询方案&#xff0c;…...

探索多领域免费API资源库:打造数据查询利器

在当今信息爆炸的时代&#xff0c;获取各种领域的数据已成为许多人的需求。而免费API资源库的出现为我们提供了便捷的途径&#xff0c;让我们可以轻松地获取所需数据。本文将介绍涵盖20领域的免费API资源库&#xff0c;通过代码示例展示其功能&#xff0c;帮助读者更好地理解和…...

jenkins项目发布-安装k8s(rancher)客户端kubectl

找一台Linux 上安装 kubectl 以下是通过国内镜像源快速安装 kubectl 的方法&#xff0c;适合国内网络环境。 1. 下载 kubectl 通过国内镜像源下载指定版本的 kubectl&#xff1a; 使用阿里云镜像源下载&#xff1a; curl -LO "https://dl.k8s.io/release/$(curl -L -…...

【2025年认证杯数学中国数学建模网络挑战赛】C题 数据预处理与问题一二求解

目录 2025认证杯网络挑战赛A题 数据预处理与问题一求解三、数据预处理及分析3.1 数据可视化3.2 滑动窗口相关系数统计与动态置信区间耦合分析模型3.3 耦合关系分析结果 四、问题一代码数据预处理问题一 2025认证杯网络挑战赛 A题 数据预处理与问题一求解 三、数据预处理及分析…...

天玑AI开发套件2.0模型库数量激增3.3倍,让AI开发选择更自由

AI终端能力的升级&#xff0c;从不止步于硬件性能的提升&#xff0c;更有赖于软硬一体的系统化能力建设。在MDDC 2025大会上&#xff0c;联发科整合发布AI游戏两大核心场景下的开发平台&#xff1a;Neuron Studio打通模型开发全流程&#xff1b;Dimensity Profiler从多个维度提…...

edge 更新到135后,Clash 打开后,正常网页也会自动跳转

发现了一个有意思的问题&#xff1a;edge 更新135后&#xff0c;以前正常使用的clash出现了打开deepseek也会自动跳转&#xff1a; Search Resultshttps://zurefy.com/zu1.php#gsc.tab0&gsc.qdeepseek &#xff0c;也就是不需要梯子的网站打不开了&#xff0c;需要的一直正…...

Socket多路复用网络编程应用总结

Socket多路复用网络编程应用总结 概述 • 传统I/O模型的局限性&#xff1a;传统阻塞式I/O模型每次仅在一个文件描述符&#xff08;File Descriptor, FD&#xff09;上执行I/O操作&#xff0c;导致程序需等待单个操作完成&#xff0c;无法高效处理多连接场景&#xff08;如高并…...

APT攻击阶段划分,每个阶段分区方法

根据现有资料&#xff0c;APT&#xff08;高级持续性威胁&#xff09;攻击的阶段划分主要基于两种主流模型&#xff1a;洛克希德-马丁的杀伤链模型和生命周期模型。以下是分阶段详解及分区依据&#xff1a; 一、洛克希德-马丁杀伤链模型&#xff08;7阶段&#xff09; 核心逻辑…...

图像颜色空间对比(Opencv)

1. 颜色转换 import cv2 import matplotlib.pyplot as plotimg cv2.imread("tmp.jpg") img_r cv2.cvtColor(img, cv2.COLOR_BGR2RGB) img_g cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) img_h cv2.cvtColor(img, cv2.COLOR_BGR2HSV) img_l cv2.cvtColor(img, cv2.C…...

【NLP 58、利用trl框架训练LLM】

孤独总比忍受傻逼好得多 —— 25.4.11 源代码网页&#xff1a; 项目文件预览 - trl:Train transformer language models with reinforcement learning. - GitCode TRL —— 变压器强化学习 trl&#xff1a;一个用于后训练基础模型的全面库 1.概述 TRL 是一个利用监督微调&a…...

数据仓库元数据的管理

元数据&#xff08;Meta Date&#xff09;&#xff0c;主要记录数据仓库中模型的定义、各层级间的映射关系、监控数据仓库的数据状态 及ETL的任务运行状态。一般会通过元数据资料库&#xff08;Metadata Repository&#xff09;来统一地存储和管理元数据&#xff0c;其主要 目的…...

MySQL逻辑架构有什么?

1. MySQL逻辑架构分层 MySQL的逻辑架构可分为三层&#xff08;自上而下&#xff09;&#xff1a; 连接层&#xff08;Client Layer&#xff09;服务层&#xff08;Server Layer&#xff09;存储引擎层&#xff08;Storage Engine Layer&#xff09; -----------------------…...

蓝桥杯 web 常用到的一些知识点

reduce 方法遍历数组、将数组元素累计 ①reduce接收两个参数&#xff0c;一个回调函数&#xff0c;一个初始值 ②回调函数传递了两个参数&#xff0c;一个是累加值&#xff0c;另一个是当前值 reduce的写法&#xff1a; arrays.reduce(&#xff08;a&#xff0c;c&#xff…...

构建高可靠C++服务框架:从日志系统到任务调度器的完整实现

构建高可靠C服务框架&#xff1a;从日志系统到任务调度器的完整实现 一、深度解析示例代码技术体系 1.1 日志系统的进阶应用 示例代码中的ZRY_LOG_XXX宏展示了基础日志功能&#xff0c;但在生产环境中我们需要更完善的日志系统&#xff1a; 推荐技术栈组合&#xff1a; sp…...

<C#>在 C# .NET 中,使用 LoggerExtensions方法创建日志

在 C# .NET 中&#xff0c;LoggerExtensions 是 Microsoft.Extensions.Logging 命名空间下的一组扩展方法&#xff0c;它们为 ILogger 接口提供了便捷的日志记录方式。借助这些扩展方法&#xff0c;你能轻松记录不同级别的日志&#xff0c;如调试信息、信息、警告、错误等。下面…...

微服务与Spring Cloud Alibaba简介

微服务&#xff08;或微服务架构&#xff09;是一种云原生架构方法&#xff0c;其中单个应用程序由许多松散耦合且可独立部署的较小组件或服务组成。本单元主要介绍微服务架构的定义、微服务的特征、微服务架构面临的挑战、Spring Cloud 定义、Spring Cloud 核心组件、Spring C…...

元生代品牌建设:平台实现工作流(comfyui)创建与技术文档说明

本文摘要&#xff1a;蓝耘科技自2004年成立以来&#xff0c;从传统IT系统集成业务转型为聚焦GPU算力云服务的科技公司。其发布的元生代平台&#xff0c;是一个集算力调度、应用市场和AI协作开发为一体的智算云平台。用户可在蓝耘平台使用ComfyUI进行AI绘图&#xff0c;通过添加…...

无线通信网

1.2.4G相邻信道间有干扰&#xff0c;5G相邻信道几乎无干扰 2.2.4G频段的优点是信号强&#xff0c;衰减小&#xff0c;穿墙强&#xff0c;覆盖距离远&#xff1b;缺点是带宽较窄&#xff0c;速度较慢&#xff0c;干扰较大。 5G频段的优点是带宽较宽&#xff0c;速度较快&#…...

WMware虚拟机Ubuntu磁盘扩容

VMware中操作&#xff1a; 选择要扩容的虚拟机&#xff0c;点击编辑虚拟机设置 打开后点击磁盘——>点击扩展&#xff08;注意&#xff1a;如果想要扩容的话需要删除快照&#xff09; 调整到你想要的容量 点击上图的扩展——>确定 然后我们进到虚拟机里面 首先&#…...

vscode头文件自由跳转

文章目录 1. 安装c/c扩展2. 建.vscode文件夹 当你想要ctl鼠标左击跳转到三方库的定义的时候请往下看。 1. 安装c/c扩展 2. 建.vscode文件夹 在.vscode文件夹下新建c_cpp_properties.json {"configurations": [{"name": "Linux","include…...

BUG:Cannot find implementation for xxx. database. xxx. xxx_Impl does not exist

问题背景 使用Jetpack Compose将数据存储在room本地数据库时&#xff0c;编译报错&#xff1a; java. lang. RuntimeException: Cannot find implementation for com. example. androidproject. practice. roomdmeo. database. AppDatabase. AppDatabase_Impl does not exist …...

基于PySide6与pyCATIA的工程图智能文本替换工具开发指南

一、需求背景与实现价值 在汽车、航空等制造领域&#xff0c;CATIA工程图的文本标注管理常面临批量修改需求。传统手工操作存在效率低、易出错等问题。本文实现的文本替换工具具有以下行业价值&#xff1a; 提升图纸修订效率&#xff08;单次操作可处理数千个文本对象&#x…...

MCP协议下人工智能康复理疗智械融合编程方向分析

一、引言:AI 康复时代的技术革新 在全球人口老龄化进程加速以及慢性病发病率持续走高的双重背景下,康复医疗领域正面临着前所未有的需求增长压力。据世界卫生组织(WHO)相关数据表明,预计到 2050 年,全球 60 岁及以上老年人口数量将激增至 21 亿,这一庞大群体中,绝大多…...

【嵌入式硬件】LAN9253说明书(中文版)

目录 1.介绍 1.1总体介绍 1.2模式介绍 1.2.1微控制器模式: 1.2.2 扩展模式 1.2.3 数字IO模式 1.2.4 各模式图 2.引脚说明 2.1 引脚总览 2.2 引脚描述 2.2.1 LAN端口A引脚 2.2.2 LAN端口B引脚 2.2.3 LAN端口A和、B电源和公共引脚 2.2.4 SPI/SQI PINS 2.2.5 分布式时…...

Java学习手册:Java基本语法与数据类型

Java语言以其简洁明了的语法和强大的数据类型系统而闻名。掌握Java的基本语法和数据类型是成为一名合格Java开发者的第一步。本文将深入探讨Java的基本语法结构和数据类型&#xff0c;帮助读者打下坚实的基础。 Java的基本语法 Java语言的语法设计简洁而强大&#xff0c;强调…...

操作系统 3.4-段页结合的实际内存管理

段与页结合的初步思路 虚拟内存的引入&#xff1a; 为了结合段和页的优势&#xff0c;操作系统引入了虚拟内存的概念。虚拟内存是一段地址空间&#xff0c;它映射到物理内存上&#xff0c;但对用户程序是透明的。 段到虚拟内存的映射&#xff1a; 用户程序中的段首先映射到虚…...

金融简单介绍及金融诈骗防范

在当今社会&#xff0c;金融学如同一股无形却强大的力量&#xff0c;深刻影响着我们生活的方方面面。无论是个人的日常收支、投资理财&#xff0c;还是国家的宏观经济调控&#xff0c;都与金融学紧密相连。​ 一、金融学的概念​ 金融学&#xff0c;简单来说&#xff0c;是研…...

基于docker搭建redis集群环境

在redis目录下创建redis-cluster目录&#xff0c;创建docker-compose.yml文化和generate.sh文件 【配置generate.sh文件】 for port in $(seq 1 9); \ do \ mkdir -p redis${port}/ touch redis${port}/redis.conf cat << EOF > redis${port}/redis.conf port 6379 …...

CSS 中常见的布局相关属性及其功能分类

一、块级布局&#xff08;Block Layout&#xff09; 1. display 作用&#xff1a;定义元素的显示方式。常用值&#xff1a; block&#xff1a;块级元素&#xff0c;默认独占一行。inline&#xff1a;行内元素&#xff0c;与其他内容在同一行显示。inline-block&#xff1a;兼…...

用css画一条弧线

ui里有一条弧线&#xff0c;现在用css实现 关键代码 border-bottom-left-radius: 100% 7px 两个参数分别代表横向和纵向的深度border-bottom-right-radius: 100% 7px...

CesiumForUnreal 本地矢量文件的加载,支持 shp/geojson 等常用格式

实现效果 Cesium for Unreal 集成 GDAL、LibPng 实现加载本地矢量文件 实现步骤 添加依赖在 cesium-unreal 中 extern -> cesium-native -> CMakeLists.txt 中的 57 行添加依赖库,代码如下: set(PACKAGES_PRIVATEabseil draco ktx modp-base64 meshoptimizer openssl …...

面向基于发布-订阅的物联网网络的匿名 MQTT 分析

中文标题&#xff1a; 面向基于发布-订阅的物联网网络的匿名 MQTT 分析 英文标题&#xff1a; An Analysis of Anonymous MQTT for Publish-Subscribe-Based IoT Networks 作者信息 Yudai Fukushima&#xff1a;东京都立大学电气工程与计算机科学系硕士生&#xff0c;研究方向…...

<C#> 详细介绍.NET 依赖注入

在 .NET 开发中&#xff0c;依赖注入&#xff08;Dependency Injection&#xff0c;简称 DI&#xff09;是一种设计模式&#xff0c;它可以增强代码的可测试性、可维护性和可扩展性。以下是对 .NET 依赖注入的详细介绍&#xff1a; 1. 什么是依赖注入 在软件开发里&#xff0…...

批量给文件编排序号,支持数字序号及时间日期序号编排文件

当我们需要对文件进行编号的时候&#xff0c;我们可以通过这个工具来帮我们完成&#xff0c;它可以支持从 001 到 100 甚至更多的数字序号编号。也可以支持按照日期、时间等方式对文件进行编号操作。这是一种操作简单&#xff0c;处理起来也非常的高效文件编排序号的方法。 工作…...

乳腺癌识别:双模型融合

​本文为为&#x1f517;365天深度学习训练营内部文章 原作者&#xff1a;K同学啊​ import matplotlib.pyplot as plt import tensorflow as tf import warnings as w w.filterwarnings(ignore) # 支持中文 plt.rcParams[font.sans-serif] [SimHei] # 用来正常显示中文标签 …...

ubuntu 22.04配置cuda和cudnn

cuda&#xff1a;12.1 wget https://developer.download.nvidia.com/compute/cuda/12.1.1/local_installers/cuda_12.1.1_530.30.02_linux.run sudo sh cuda_12.1.1_530.30.02_linux.runAbort/Continue选择Continue&#xff0c;不要勾选自带的driver 配置环境变量。~/.bashrc e…...

为什么Java不支持多继承?如何实现多继承?

一、前言 Java不支持多继承&#xff08;一个类继承多个父类&#xff09;主要出于文中设计考虑&#xff1b;核心目的是简化语言复杂性并避免潜在的歧义性问题。 二、直接原因&#xff1a;菱形继承/钻石继承问题&#xff08;Diamond Problem&#xff09; 假设存在如下继承关系&…...

ESP32S3 链接到 WiFi

以下是关于如何让 ESP32S3 连接到 WiFi 的完整流程和代码示例&#xff1a; ESP32S3 链接到 WiFi 1. 设置工作模式 ESP32 可以工作在两种模式下&#xff1a; Station (STA) 模式&#xff1a;作为无线终端连接到无线接入点&#xff08;AP&#xff09;&#xff0c;类似于手机或…...