【机器学习基础】Python编程10:五个实用练习题的解析与总结
Python是一种广泛使用的高级编程语言,它在机器学习领域中的重要性主要体现在以下几个方面:
-
简洁易学:Python语法简洁清晰,易于学习,使得初学者能够快速上手机器学习项目。
-
丰富的库支持:Python拥有大量的机器学习库,如scikit-learn、TensorFlow、Keras和PyTorch等,这些库提供了强大的工具和算法,简化了机器学习模型的开发和部署。
-
社区活跃:Python拥有一个庞大的开发者社区,社区成员不断贡献新的代码和解决方案,使得Python在机器学习领域持续进步。
-
跨平台性:Python是跨平台的,可以在多种操作系统上运行,这为机器学习项目的跨平台开发提供了便利。
-
数据处理能力:Python的数据处理能力非常强,它能够轻松处理大规模数据集,这对于机器学习来说至关重要。
-
集成与扩展性:Python可以与其他语言和工具集成,提供了良好的扩展性,使得机器学习项目可以灵活地与其他系统或服务结合。
综上所述,Python在机器学习领域的重要性不仅在于其语言本身的特性,还在于它所构建的生态系统,这使得Python成为了机器学习领域的首选语言之一。为此掌握python基础编程极为重要,接下来让我们用以下5道题熟悉python编程
eg1:求输入数字的平方
求输⼊数字的平⽅,如果平⽅运算后⼩于50 则退出
分析
这个程序通过无限循环让用户输入数字,计算并打印该数字的平方。如果平方结果小于50,则程序在3秒后退出循环。这里使用了time模块的sleep函数来实现延时退出。
import timedef pinfang():while True:a = int(input("please input a num:"))if a * a < 50:print(a, "的平方小于50,即将在3s退出!")time.sleep(3)breakelse:print(a, "的平方大于50!")pinfang()
eg2:变量值互换
两个变量值互换
分析
这个示例展示了Python中一种简洁的变量值互换方法:使用元组赋值。在exchange函数中,通过a, b = b, a实现两个变量值的互换,然后返回新的值。
def exchange(a, b):a, b = b, areturn a, bif __name__ == '__main__':x = 10y = 20print('x = %d, y = %d' % (x, y))x, y = exchange(x, y)print('x = %d, y = %d' % (x, y))
eg3:数字比较
数字⽐较
分析
这个程序演示了Python中的基本条件判断。通过比较两个变量i和j的值,使用if-elif-else结构来打印相应的比较结果。
if __name__ == '__main__':i = 10j = 20if i > j:print('%d 大于 %d' % (i, j))elif i == j:print('%d 等于 %d' % (i, j))elif i < j:print('%d 小于 %d' % (i, j))else:print('未知')
eg4:lambda创建匿名函数
使⽤lambda来创建匿名函数
分析
这个示例展示了如何使用Python的lambda表达式来创建匿名函数。这里定义了两个匿名函数MAXIMUM和MINIMUM,分别用于获取两个数中的较大值和较小值。
MAXIMUM = lambda x, y: (x > y) * x + (x <= y) * y
MINIMUM = lambda x, y: (x < y) * x + (x >= y) * yif __name__ == '__main__':a = 10b = 20print('The larger one is %d' % MAXIMUM(a, b))print('The smaller one is %d' % MINIMUM(a, b))
eg5:random 随机数
使⽤random 模块输出⼀个随机数
分析
这个程序演示了Python random模块的多种用法,包括生成随机整数、浮点数、随机字符、随机选择字符串、打乱列表顺序以及生成随机字符串等。
import random
import string# 随机整数
print(random.randint(1, 50)) # 1-50间的随机整数
# 0-100间的偶数
print(random.randrange(0, 101, 2))
# 随机浮点数
print(random.random())
print(random.uniform(1, 10)) # 1到10之间的随机浮点数# 随机字符
print(random.choice('abcdefghijklmnopqrstuvwxyz!@#$%^&*()'))
# 多个字符中随机生成指定个数的字符
print(random.sample('abcdefghijklmnopqrstuvwxyz', 5))# 随机选取字符串
print(random.choice(['哈哈', '嘻嘻', '咕咕']))# 打乱排序
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
random.shuffle(a)
print(a)# 从a-zA-Z0-9生成指定数量的随机字符:
ran_str = ''.join(random.sample(string.ascii_letters + string.digits, 8))
print(ran_str)# 多个字符中选取指定数量的字符组成新字符串:
print(''.join(random.sample(['z', 'y', 'x', 'w', 'v', 'u', 't', 's', 'r', 'q', 'p', 'o', 'n', 'm', 'l', 'k', 'j', 'i', 'h', 'g', 'f', 'e', 'd', 'c', 'b', 'a'], 5)))
总结
这五个编程练习题涵盖了循环控制、变量互换、条件判断、匿名函数以及随机数生成等基础编程概念。通过这些练习,我们学习了如何使用Python的基本语法和内置模块来实现特定的功能。
循环控制使我们能够根据条件重复执行代码块,直到满足特定条件才退出。变量值互换是一种常见的操作,Python提供了一种非常简洁的方式来实现这一点。条件判断是编程中处理不同情况的基本手段。匿名函数lambda表达式提供了一种快速定义函数的方法,适合用于简单的、一次性的函数定义。随机数生成是许多应用中的一个重要功能,random模块提供了丰富的函数来生成不同类型的随机数据。
通过这些练习,我们加深了对Python语言的理解,提高了编程技巧和问题解决能力。这些基础知识对于进一步学习更高级的编程概念和算法至关重要,为成为一名合格的程序员打下了坚实的基础。
相关文章:
【机器学习基础】Python编程10:五个实用练习题的解析与总结
Python是一种广泛使用的高级编程语言,它在机器学习领域中的重要性主要体现在以下几个方面: 简洁易学:Python语法简洁清晰,易于学习,使得初学者能够快速上手机器学习项目。 丰富的库支持:Python拥有大量的机…...
【设计模式】结构型设计模式之 门面模式
介绍 门面模式(Facade Pattern)是一种常用的设计模式,属于结构型模式的范畴。它为子系统中的一系列接口提供一个简化的统一接口,即一个外观(Facade),从而使子系统更加容易使用。门面模式并不修…...
MAC地址简介
一、MAC和ip地址 很多同学只知道ip地址,同时也知道ip在网络通讯中的重要性,实际上要实现网络通信的话,除了ip地址外还需要MAC地址的配合,只有在这两种地址的配合之下才能完整的实现互联网的通信。但是由于MAC地址的使用࿰…...
五种网络IO模型
目录 前言 文件描述符 为什么要多种io模型 同步IO 1.阻塞IO 2.非阻塞IO 3.多路复用IO(事件驱动IO) select: poll: epoll: 4.信号驱动IO 异步IO 区别 前言 文件描述符 首先我们了解一下文件描述符是什么:…...
VSCode超过390万下载的请求插件
Thunder Client 是一款在 VSCode(Visual Studio Code)中非常受欢迎的 REST API 客户端插件,由Ranga Vadhineni开发,现在已经有超过390万的下载量。它允许开发者直接在编辑器内发送 HTTP 请求,查看响应。Thunder Client…...
前端 JS 经典:下载的流式传输
触发下载在浏览器中有两种方式:1. 客户端的方式 2. 服务器的方式 1. 服务器的方式 通过 a 元素链接到一个服务器的地址,然后需要后端人员配置,当用户点击按钮请求这个地址时,服务端给他加上一个响应头。Content-Disposition 设置…...
k8s面试题大全,保姆级的攻略哦(三)
目录 1、简述ETCD及其特点? 2、简述ETCD适应的场景? 3、简述什么是Kubernetes? 4、简述Kubernetes和Docker的关系? 5、简述Kubernetes中什么是Minikube、Kubectl、Kubelet? 6、简述Kubernetes常见的部署方式? 7、简述Kubernetes如何实现集群管理? 8、简述Kubern…...
从年金理论到杠杆效应,再到财务报表与投资评估指标
一、解释普通年金终值和普通年金现值的概念。 普通年金终值:以利率为1%,每期收款100元,5期为例,普通年金终值的折算过程如图: 普通年金现值:以利率为1%,每期收款100元,5期为例&am…...
K8S - 用kubectl远程访问内网的k8s集群
在之前的文章 K8S - 在任意node里执行kubectl 命令 介绍过, 通过任何node 的主机, 用kubectl 管理集群是很简单 无非就是两个步骤: 下载 k8s master 上的admin.conf在当前主机配置 K8SCONFIG 环境变量指向 下载的config file 其他内网主机也适用 其…...
STM32F103C8移植uCOSIII并以不同周期点亮两个LED灯(HAL库方式)【uCOS】【STM32开发板】【STM32CubeMX】
STM32F103C8移植uC/OSIII并以不同周期点亮两个LED灯(HAL库方式)【uC/OS】【STM32开发板】【STM32CubeMX】 实验说明 将嵌入式操作系统uC/OSIII移植到STM32F103C8上,构建两个任务,两个任务分别以1s和3s周期对LED进行点亮—熄灭的…...
【c语言】qsort函数及泛型冒泡排序的模拟实现
🌟🌟作者主页:ephemerals__ 🌟🌟所属专栏:C语言 目录 一、qsort函数 1.回调函数 2.qsort函数 3.void* 指针 二、泛型冒泡排序的模拟实现 1.比较函数的编写 2.交换函数的编写 3.冒泡排序的编写 4…...
MySQL之多表查询—表子查询
一、引言 上一篇博客学习了行子查询。(看弹幕:同一张表用or,不同张表用union) 下面接着学习子查询当中的最后一种——表子查询。 表子查询 1、概念 子查询返回的结果是多行多列,这种子查询称为表子查询。 2、常用的操作符 IN 3、…...
Java 18风暴来袭:解锁编程新纪元
一、引言 Java 18的发布标志着Java语言在性能、安全性和开发效率方面的又一次飞跃。本次更新不仅带来了新的语言特性,还包括了一些实验性功能和工具的改进。这些新特性旨在帮助开发者编写更高效、更安全的代码,并提升开发体验。 二、新特性概述 1. 默…...
文件操作(Python和C++版)
一、C版 程序运行时产生的数据都属于临时数据,程序—旦运行结束都会被释放通过文件可以将数据持久化 C中对文件操作需要包含头文件< fstream > 文件类型分为两种: 1. 文本文件 - 文件以文本的ASCII码形式存储在计算机中 2. 二进制文件- 文件以文本的二进…...
Git【版本控制命令】
02 【本地库操作】 1.git的结构 2.Git 远程库——代码托管中心 2.1 git工作流程 代码托管中心用于维护 Git 的远程库。包括在局域网环境下搭建的 GitLab 服务器,以及在外网环境下的 GitHub 和 Gitee (码云)。 一般工作流程如下: 1.从远程…...
打字侠是一款PWA网站,如何下载到电脑桌面?
嘿,亲爱的键盘侠们! 你是否还在为寻找一款好用的打字练习工具而烦恼?别担心,今天我要给大家介绍一位超级英雄——打字侠!它不仅是一个超级酷的打字练习网站,还是一款PWA(渐进式网页应用&#x…...
Scikit-learn使用步骤?使用场景?
Scikit-learn(简称sklearn)是Python中一个非常流行的机器学习库,它提供了广泛的机器学习算法和工具,用于数据分析、特征工程、模型训练、模型评估等任务。以下是一个关于sklearn的基础教程,内容将按照几个主要部分进行…...
MySQL 5.7详细下载安装配置教程(MySQL 5.7安装包)_mysql5.7的安装教程
记录MySQL 5.7 的下载安装教程,并提供了Mysql 安装包 ,以下是详细下载安装过程。 一、下载Mysql安装包 网盘下载: 下载MySQL 5.7安装包,网盘下载地址:点击此处直接下载 官网下载: 进入官网,…...
电阻十大品牌供应商
选型时选择热门的电阻品牌,主要是产品丰富,需求基本都能满足。 所所有的电路中,基本没有不用电阻的,电阻的选型需要参考阻值、精度、封装、温度范围,贴片/插件等参数,优秀的供应商如下: 十大电…...
深度学习复盘与论文复现C
文章目录 4、Distributed training4.1 GPU architecture 5、Recurrent neural network5.1 The basic structure of RNN5.2 Neural networks without hidden states5.3 Recurrent neural networks with hidden states5.4 summary 6、Language Model Dataset (lyrics from Jay Ch…...
未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?
编辑:陈萍萍的公主一点人工一点智能 未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战,在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...
RocketMQ延迟消息机制
两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...
Admin.Net中的消息通信SignalR解释
定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...
从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路
进入2025年以来,尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断,但全球市场热度依然高涨,入局者持续增加。 以国内市场为例,天眼查专业版数据显示,截至5月底,我国现存在业、存续状态的机器人相关企…...
解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错
出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...
【分享】推荐一些办公小工具
1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由:大部分的转换软件需要收费,要么功能不齐全,而开会员又用不了几次浪费钱,借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...
在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)
考察一般的三次多项式,以r为参数: p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]; 此多项式的根为: 尽管看起来这个多项式是特殊的,其实一般的三次多项式都是可以通过线性变换化为这个形式…...
免费数学几何作图web平台
光锐软件免费数学工具,maths,数学制图,数学作图,几何作图,几何,AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...
tomcat指定使用的jdk版本
说明 有时候需要对tomcat配置指定的jdk版本号,此时,我们可以通过以下方式进行配置 设置方式 找到tomcat的bin目录中的setclasspath.bat。如果是linux系统则是setclasspath.sh set JAVA_HOMEC:\Program Files\Java\jdk8 set JRE_HOMEC:\Program Files…...
