简单顺序计算器

C语言题目:简单顺序计算器,用python代码解。


(笔记模板由python脚本于2024年09月27日 22:58:16创建,本篇笔记适合喜欢python的coder翻阅)


【学习的细节是欢悦的历程】

  • Python 官网:https://www.python.org/

  • Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础那么简单……
    地址:https://lqpybook.readthedocs.io/


  自学并不是什么神秘的东西,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。
            —— 华罗庚


  • My CSDN主页、My HOT博、My Python 学习个人备忘录
  • 好文力荐、 老齐教室
等风来,不如追风去……


C语言编程题目
简单顺序计算器
(用python代码写解)


本文质量分:

96 96 96

本文地址: https://blog.csdn.net/m0_57158496/

CSDN质量分查询入口:http://www.csdn.net/qc


目 录

  • ◆ 简单顺序计算器
    • 1、题目描述
    • 1、题目描述
      • 1.1 题目截屏图片
      • 1.2 题目文本
    • 2、程序说明
    • 3、程序效果
    • 4、代码解读
    • 5、四个split_part拆分算式代码形式
    • 6、完整源码(Python)


◆ 简单顺序计算器


1、题目描述


1、题目描述


1.1 题目截屏图片

  • 题目描述截屏图片
    在这里插入图片描述

题目来源于博主MoonTinan文章“简单计算器”


1.2 题目文本

C语言题目:

模拟简单运算器的工作。假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算。

输入格式:
输入在一行中给出一个四则运算算式,没有空格,且至少有一个操作数。遇等号”=”说明输入结 束。

输出格式:
在一行中输出算式的运算结果,或者如果除法分母为0或有非法运算符,则输出错误信息“ERROR”。

输入样例:
1+2*10-10/2=
输出样例:
10
代码长度限制:
16 KB

时间限制:
400 ms

内存限制:
64 MB

注意: 除0问题,逻辑或逻辑与问题,最后一个操作数的保存问题(使读入’='时也进行记录储存,并通过break跳出而不通过外部设定循环条件跳出),for循环条件的正序与逆序 。



回页目录


2、程序说明


程序名称:简单顺序整数计算器

程序功能:

  本程序模拟一个简单的计算器,能够对整数进行加、减、乘、除运算。计算器的特点是运算符优先级相同,按照从左到右的顺序进行计算。计算结果可以是整数或浮点数,如果结果不是整数,则保留两位小数。

程序文件:int-simple-calculator.py

主要函数说明:

  1. split_part(expr: str) -> list

    • 功能:将输入的算式字符串拆分成数值和运算符的列表。
    • 输入:合法的算式字符串 expr
    • 输出:包含数值和运算符的列表。
  2. validate_expression(expr: str) -> bool

    • 功能:验证输入的算式字符串是否合法。
    • 输入:算式字符串 expr
    • 输出:如果算式合法,返回 True;否则抛出 ValueError 异常。
  3. calculate(expr:str) -> float

    • 功能:计算算式的结果。
    • 输入:合法的算式字符串 expr
    • 输出:计算结果,类型为浮点数。
  4. calculator(expr:str) -> int|float

    • 功能:调用 calculate 函数计算结果,并根据结果类型返回整数或保留两位小数的浮点数。
    • 输入:合法的算式字符串 expr
    • 输出:计算结果,类型为整数或浮点数。
  5. main() -> None

    • 功能:程序的入口函数,负责接收用户输入的算式,调用计算器进行计算,并输出结果。
    • 输出:无返回值,直接打印计算结果。

程序流程:

  1. 用户输入算式。
  2. 程序清屏并显示输入提示。
  3. 程序接收用户输入的算式,并进行校验。
  4. 如果算式合法,程序进行计算并输出结果。
  5. 如果算式不合法或计算过程中出现错误(如除以零),程序将抛出异常并提示用户。

注意事项:

  • 输入的算式必须是合法的,即只能包含整数和加、减、乘、除运算符,且运算符之间不能有空格。
  • 程序不支持括号,所有运算符的优先级相同,按照从左到右的顺序计算。
  • 计算结果如果为非整数,将保留两位小数。



回页目录


3、程序效果


  • 截屏图片
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述



回页目录


4、代码解读


  1. 脚本声明

    • #!/usr/bin/env python3:这是一个 Shebang 行,告诉系统使用哪个解释器来执行这个脚本。
  2. 编码声明

    • # coding: utf-8:这行声明脚本使用 UTF-8 编码,允许在代码中使用非ASCII字符。
  3. 模块导入

    • import re:导入正则表达式模块,用于字符串匹配。
  4. 函数定义

    • splitpart 函数:

      • 功能:将输入的算术表达式字符串分割成数值和运算符的列表。
      • 参数:expr(字符串类型),表示算术表达式。
      • 返回值:一个列表,包含表达式中的数值和运算符。
    • validate_expression 函数:

      • 功能:验证输入的算术表达式是否符合预期的格式。
      • 参数:expr(字符串类型),表示算术表达式。
      • 异常:如果表达式格式不正确,抛出 ValueError
    • calculate 函数:

      • 功能:计算并返回算术表达式的结果。
      • 参数:expr(字符串类型),表示算术表达式。
      • 处理流程:首先验证表达式,然后分割表达式,接着从左到右计算表达式的值。
    • calculator 函数:

      • 功能:调用 calculate 函数计算结果,并根据结果类型返回整数或保留两位小数的浮点数。
      • 参数:expr(字符串类型),表示算术表达式。
      • 返回值:计算结果,可能是整数或浮点数。
  5. 主程序逻辑

    • main 函数:

      • 功能:程序的入口点,负责与用户交互,接收输入并显示计算结果。
      • 流程:清屏,提示用户输入,计算并打印结果。
    • 异常处理:

      • 如果在执行 main 函数过程中出现 ValueError 异常,捕获该异常并打印错误信息。
  6. 程序入口

    • if __name__ == '__main__'::Python 中的常见约定,用于判断当前脚本是否作为主程序运行。
    • 如果是主程序,调用 main 函数。

  这个代码解读更侧重于代码的结构和逻辑流程,而不是程序的功能描述。它解释了每个函数的作用、参数、返回值以及函数之间的调用关系,同时也描述了主程序如何运行和异常处理机制。



回页目录


5、四个split_part拆分算式代码形式


一、

# str.splace
def split_part(expr:str) -> list:''' 拆分算式成数值和运算符 '''return expr.replace('+',  ' + ').replace('-',  ' - ').replace('*',  ' * ').replace('/',  ' / ').split()

ai点评
使用 str.replace 方法:

点评:

  • 由于输入是经过校验的合法算式,这个方法在这种情况下是有效的,因为它假设输入不会包含额外的空格或非法字符。
  • 它简单直接,易于理解和实现。

批判:

  • 即使输入是经过校验的,这种方法仍然依赖于空格来分割字符串,这在其他情况下可能不是一个好习惯。
  • 需要多次调用 replace 方法,尽管在这个特定场景下性能影响不大。

二、

# 手撕str.replace 
def split_part(expr:str) -> list:''' 拆分算式成数值和运算符 '''expr = list(expr)for i in range(len(expr)):if expr[i] == '+':expr[i] = ' + 'elif expr[i] == '-':expr[i] = ' - 'elif expr[i] == '*':expr[i] = ' * 'elif expr[i] == '/':expr[i] = ' / 'return ''.join(expr).split()

ai点评
手动遍历字符串并替换:

点评:

  • str.replace 方法类似,由于输入是经过校验的,这个方法也可以正常工作。
  • 它避免了使用多次 replace 方法,可能在某些情况下性能稍好。

批判:

  • 与第一个方法一样,它依赖于在运算符周围添加空格来分割字符串。
  • 遍历字符串并修改列表,虽然避免了多次 replace,但性能提升有限。

三、

# 遍历字符串
def split_part(expr:str) -> list:''' 拆分算式成数值和运算符 '''parts = [] # 算式分拆列表number = []for char in expr:if char.isdigit():number.append(char)else:if number:parts.append(''.join(number))number = []parts.append(char)parts.append(''.join(number)) # 收集最后一个数字return parts

ai点评
遍历字符串并收集数字:

点评:

  • 这个方法不依赖于空格来分割字符串,而是直接处理数字和运算符,这使得它在处理算式时更为健壮。
  • 它能够正确处理经过校验的合法算式。

批判:

  • 对于经过校验的输入,这种方法可能比使用正则表达式更为复杂,尽管它提供了额外的健壮性。
  • 性能上可能不如直接使用字符串操作。

四、

# re正则匹配
def split_part(expr: str) -> list:''' 拆分算式成数值和运算符 '''pattern = r'(?:^[+-]?\d+)|(?:[*/+-])|(?:\d+)' # 正则表达式,匹配数字(包括正负号)和运算符return re.findall(pattern, expr) # 使用 re.findall 查找所有匹配项

ai点评
使用 re 正则表达式:

点评:

  • 正则表达式方法提供了非常强大的模式匹配能力,可以简洁地处理复杂的字符串分割问题。
  • 它能够正确处理经过校验的合法算式,且不依赖于空格。

批判:

  • 对于经过校验的简单算式,使用正则表达式可能有些“大材小用”,但在处理更复杂的算式时,它的优势会非常明显。
  • 正则表达式可能会对性能产生一些影响,但在这个场景下,由于算式简单,这种影响可以忽略不计。

ai总结

  考虑到你的输入是经过校验的合法算式,第一个和第二个方法在这种情况下都是可行的,并且简单直观。第三个方法提供了额外的健壮性,但可能稍微复杂一些。第四个方法(正则表达式)是最灵活和强大的,尽管对于这个特定问题可能显得有些“过度杀伤”。

  在这种情况下,选择哪个方法取决于你的偏好和未来可能的需求。如果你预期算式可能会变得更复杂,或者你可能需要在其他场景中复用分割逻辑,那么使用正则表达式可能是更好的选择。如果算式始终保持简单,并且没有进一步的需求,那么第一个或第二个方法可能就足够了。



回页目录


6、完整源码(Python)

(源码较长,点此跳过源码)

#!/sur/bin/nve python3
# coding: utf-8 
import re'''C语言题目:模拟简单运算器的工作。
假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算。filename: int-simple-calculator.py'''def split_part(expr: str) -> list:''' 拆分算式成数值和运算符 '''pattern = r'(?:^[+-]?\d+)|(?:[*/+-])|(?:\d+)' # 正则表达式,匹配数字(包括正负号)和运算符return re.findall(pattern, expr) # 使用 re.findall 查找所有匹配项def validate_expression(expr: str) -> bool:pattern = r'^[+-]?\d+(?:[+\-*/]\d+)*$' # 正则表达式:开头可以有+、-运算符一个,后接+、-、*、/运算符一个和数字组合,这样的组合可以有零个或者多个。由此通配表达式,可以涵盖本题目描述的“计算器”的所有合法表达式。if re.fullmatch(pattern, expr):return Trueelse:raise ValueError(f"\n{'':-^42}\n\n{' 算式错误! ':^37}\n\n{'':-^42}")def calculate(expr:str) -> float:''' 算式计算 '''if validate_expression(expr): # 算式校验expr = split_part(expr) # 算式拆分# 第一个整数处理if expr[0].isdigit():result = int(expr[0])expr = expr[1:]else:result = -1*int(expe[1]) if expr[0]=='-' else int(expr[1])expr = expr[2:]# 顺序计算n = len(expr) - 1k = 0while k < n:if expr[k] == '+':result += int(expr[k+1])elif expr[k] == '-':result -= int(expr[k+1])elif expr[k] == '*':result *= int(expr[k+1])elif expr[k] == '/':if int(expr[k+1])==0:raise ValueError(f"\n{'':-^42}\n\n{' 零除错误! ':^37}\n\n{'':-^42}")else:result /= int(expr[k+1])k += 2return resultdef calculate(expr:str) -> float:''' 算式计算 '''if validate_expression(expr): # 算式校验expr = split_part(expr) # 算式拆分# 第一个整数处理if expr[0].isdigit():result = int(expr[0])expr = expr[1:]else:result = -1*int(expe[1]) if expr[0]=='-' else int(expr[1])expr = expr[2:]# 顺序计算expr = [int(part) if part.isdigit() else part for part in expr] # int整数n = len(expr) - 1k = 0while k < n:if expr[k] == '+':result += expr[k+1]elif expr[k] == '-':result -= expr[k+1]elif expr[k] == '*':result *= expr[k+1]elif expr[k] == '/':if expr[k+1]==0:raise ValueError(f"\n{'':-^42}\n\n{' 零除错误! ':^37}\n\n{'':-^42}")else:result /= expr[k+1]k += 2return resultdef calculator(expr:str) -> int|float:result = calculate(expr)return round(result, 0) if round(result, 0) == result else round(result, 2) # 计算结果非整型,保留两个小数位def main() -> None:clear = '\033[2J' #清屏字符串,windows系统老版本不支持expression = input(f"{clear}{' 简单顺序整数“计算器” ':=^33}\n{'(+、-、*、/顺序计算)':^36}\n\n输入算式:").strip()result = calculator(expression)print(f"\n\n{'结果:':>7}{result}\n\n{'':=^42}")if __name__ == '__main__':try:main()except ValueError as e:print(e)



回页首


上一篇:  re轻松拆分四则运算expression(与ai对抵聊“算式匹配”,发现^从头匹配、(?:xxxx)非捕获组、| “交替”运算符联合使用的妙处)
下一篇: 



我的HOT博:

  本次共计收集 311 篇博文笔记信息,总阅读量43.82w。数据于2024年03月22日 00:50:22完成采集,用时6分2.71秒。阅读量不小于6.00k的有 7 7 7篇。

  • 001
    标题:让QQ群昵称色变的神奇代码
    (浏览阅读 5.9w )
    地址:https://blog.csdn.net/m0_57158496/article/details/122566500
    点赞:25 收藏:86 评论:17
    摘要:让QQ昵称色变的神奇代码。
    首发:2022-01-18 19:15:08
    最后编辑:2022-01-20 07:56:47

  • 002
    标题:Python列表(list)反序(降序)的7种实现方式
    (浏览阅读 1.1w )
    地址:https://blog.csdn.net/m0_57158496/article/details/128271700
    点赞:8 收藏:35 评论:8
    摘要:Python列表(list)反序(降序)的实现方式:原址反序,list.reverse()、list.sort();遍历,全数组遍历、1/2数组遍历;新生成列表,resersed()、sorted()、负步长切片[::-1]。
    首发:2022-12-11 23:54:15
    最后编辑:2023-03-20 18:13:55

  • 003
    标题:pandas 数据类型之 DataFrame
    (浏览阅读 9.7k )
    地址:https://blog.csdn.net/m0_57158496/article/details/124525814
    点赞:7 收藏:36 
    摘要:pandas 数据类型之 DataFrame_panda dataframe。
    首发:2022-05-01 13:20:17
    最后编辑:2022-05-08 08:46:13

  • 004
    标题:个人信息提取(字符串)
    (浏览阅读 8.2k )
    地址:https://blog.csdn.net/m0_57158496/article/details/124244618
    点赞:2 收藏:15 
    摘要:个人信息提取(字符串)_个人信息提取python。
    首发:2022-04-18 11:07:12
    最后编辑:2022-04-20 13:17:54

  • 005
    标题:Python字符串居中显示
    (浏览阅读 7.6k )
    地址:https://blog.csdn.net/m0_57158496/article/details/122163023
    评论:1

  • 006
    标题:罗马数字转换器|罗马数字生成器
    (浏览阅读 7.5k )
    地址:https://blog.csdn.net/m0_57158496/article/details/122592047
    摘要:罗马数字转换器|生成器。
    首发:2022-01-19 23:26:42
    最后编辑:2022-01-21 18:37:46

  • 007
    标题:回车符、换行符和回车换行符
    (浏览阅读 6.0k )
    地址:https://blog.csdn.net/m0_57158496/article/details/123109488
    点赞:2 收藏:3 
    摘要:回车符、换行符和回车换行符_命令行回车符。
    首发:2022-02-24 13:10:02
    最后编辑:2022-02-25 20:07:40


推荐条件 阅读量突破6.00k
(更多热博,请点击蓝色文字跳转翻阅)

  • 截屏图片
    在这里插入图片描述
      (此文涉及ChatPT,曾被csdn多次下架,前几日又因新发笔记被误杀而落马。躺“未过审”还不如回收站,回收站还不如永久不见。😪值此年底清扫,果断移除。留此截图,以识“曾经”。2023-12-31)



回页首


老齐漫画头像

精品文章:

  • 好文力荐:齐伟书稿 《python 完全自学教程》 Free连载(已完稿并集结成书,还有PDF版本百度网盘永久分享,点击跳转免费🆓下载。)
  • OPP三大特性:封装中的property
  • 通过内置对象理解python'
  • 正则表达式
  • python中“*”的作用
  • Python 完全自学手册
  • 海象运算符
  • Python中的 `!=`与`is not`不同
  • 学习编程的正确方法

来源:老齐教室


◆ Python 入门指南【Python 3.6.3】


好文力荐:

  • 全栈领域优质创作者——[寒佬](还是国内某高校学生)博文“非技术文—关于英语和如何正确的提问”,“英语”和“会提问”是编程学习的两大利器。
  • 【8大编程语言的适用领域】先别着急选语言学编程,先看它们能干嘛
  • 靠谱程序员的好习惯
  • 大佬帅地的优质好文“函数功能、结束条件、函数等价式”三大要素让您认清递归

CSDN实用技巧博文:

  • 8个好用到爆的Python实用技巧
  • python忽略警告
  • Python代码编写规范
  • Python的docstring规范(说明文档的规范写法)

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

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

相关文章

相机的内参 外参

相机的内参和外参是计算机视觉和摄影测量中的重要概念。以下是对它们的详细说明&#xff1a; 内参&#xff08;Intrinsic Parameters&#xff09; 内参定义了相机的内部特性&#xff0c;主要包括焦距、主点坐标以及畸变系数。内参矩阵 K 形式如下&#xff1a; 外参&#xf…

JS数据类型类型转换

基本数据类型 JS中的数据类型由原始值和对象共同组成&#xff0c;原始值一共有七种原始值&#xff1a; 数值(Number)大整数(BigInt)字符串(String)布尔值(Boolean)空值(Null)未定义(Undefined)符号(Symbol) 数值和大整数 数值(Number):在js中所有的整数和浮点数都是number类型 …

【含文档】基于Springboot+微信小程序 的中心医院用户移动端(含源码+数据库+lw)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 系统定…

[C++]栈队列改成模板类

栈、队列都更改成模板类 栈 .hpp #ifndef MY_STACK_H #define MY_STACK_H #include <iostream>using namespace std;template<typename T> class my_stack { private:T *base;//动态栈指针int top;//栈顶元素int size;//栈大小 public:my_stack();//无参构造my_…

【工具类】证书自动续签免费版 正式发布

证书自动续签免费版 正式发布 1.控制台首页2.申请证书2.1.支持自动解析和手动解析两种模式2.2.LB&#xff08;负载均衡&#xff09;支持主流的云厂商2.3.CDN&#xff08;内容分发&#xff09; 支持主流的云厂商2.4.对象存储&#xff08;OSS&#xff09;支持主流云厂商2.5DCDN&a…

Linux云计算 |【第四阶段】RDBMS1-DAY2

主要内容&#xff1a; 常用函数&#xff08;函数分类1&#xff1a;单行、分组&#xff1b;函数分类2&#xff1a;字符、数学、日期、流程控制&#xff09;、分组查询group by、连接查询 一、常用函数 1. 按使用方式分类 ① 单行函数 单行函数&#xff08;Scalar Functions&…

manim页面中不规则分割整个人页面。

界面中的分割方式 在信息设计中&#xff0c;我们常常需要通过分割设计的方式来对信息进行分组&#xff0c;界面中的分割方式大致分为三种&#xff1a;卡片、线条、留白。 界面中的分割方式主要可以分为以下几种&#xff1a; 一、根据规则进行分割&#xff1a; 规则网格分割&…

游戏如何对抗改包

游戏改包是指通过逆向分析手段及修改工具&#xff0c;来篡改游戏包内正常的设定和规则的行为&#xff0c;游戏包被篡改后&#xff0c;会被植入/剔除模块进行重打包。 本期图文我们将通过实际案例分析游戏改包的原理&#xff0c;并分享游戏如何应对改包问题。 安卓平台常见的改…

大数据的挑战是小文件

小文件可能会给存储平台及其支持的应用程序带来大问题。在 Google 上搜索 “small files performance” 会产生 2M 的结果。这篇博文将更深入地研究小文件问题&#xff0c;深入研究其根源并总结解决方案。 问题陈述 出于本讨论的目的&#xff0c;小文件通常被视为小于 64 KB …

蓝桥杯【物联网】零基础到国奖之路:十二. TIM

蓝桥杯【物联网】零基础到国奖之路:十二. TIM 第一节 理论知识第二节 cubemx配置 第一节 理论知识 STM32L071xx器件包括4个通用定时器、1个低功耗定时器&#xff08;LPTIM&#xff09;、2个基本定时器、2个看门狗定时器和SysTick定时器。 通用定时器&#xff08;TIM2、TIM3、…

32 C 语言指针的长度与运算(指针加减整数、指针自增自减、同类型指针相减、指针的比较运算)

目录 1 指针的长度 2 指针与整数的加减运算 3 指针自增与自减 4 同类型指针相减 5 指针的比较运算 6 测试题 1 指针的长度 在 C 语言中&#xff0c;sizeof 运算符可以用来计算指针的长度。指针的长度实际上与指针所指向的数据类型无关&#xff0c;而是与系统的位数&…

怎么通过AI大模型开发一个网站?

目录 一、提示词与AI输出 二、网站效果 以前不会代码开发&#xff0c;写网站是不可能的事情&#xff0c;现在有了AI&#xff0c;一切都有了可能。以下是我通过通义千问大模型开发的简单网站。 一、提示词与AI输出 提示词1 你是python程序员&#xff0c;我有一个大的需求&am…

Charles(青花瓷)抓取https请求

文章目录 前言Charles&#xff08;青花瓷&#xff09;抓取https请求 前言 如果您觉得有用的话&#xff0c;记得给博主点个赞&#xff0c;评论&#xff0c;收藏一键三连啊&#xff0c;写作不易啊^ _ ^。   而且听说点赞的人每天的运气都不会太差&#xff0c;实在白嫖的话&…

QTreeview model过滤

QTreeview model数据过滤&#xff1a;大小写区分&#xff0c;对列过滤&#xff0c;对子对象过滤 示例&#xff1a; 需要自定义QSortFilterProxyModel, //自定义过滤model mProxyModel new TreeFilterProxyModel(this); //添加treeview当前model mProxyModel->setSource…

re轻松拆分四则运算expression(^从头匹配、(?:xxxx)非捕获组、| 交替运算符联合演习)

与ai对抵聊“算式匹配”&#xff0c;发现^从头匹配、(?:xxxx)非捕获组、| “交替”运算符联合使用的妙处。 (笔记模板由python脚本于2024年09月27日 18:35:32创建&#xff0c;本篇笔记适合喜欢python喜欢正则的coder翻阅) 【学习的细节是欢悦的历程】 Python 官网&#xff1a;…

云栖实录 | 开源大数据全面升级:Native 核心引擎、Serverless 化、湖仓架构引领云上大数据发展

本文根据2024云栖大会实录整理而成&#xff0c;演讲信息如下&#xff1a; 演讲人&#xff1a; 王 峰 | 阿里云智能集团研究员、开源大数据平台负责人 李 钰&#xff5c;阿里云智能集团资深技术专家 范 振&#xff5c;阿里云智能集团高级技术专家 李劲松&#xff5c;阿里云…

Flume入门到实践--Flume的安装与基础概念与安装实战

在当今大数据时代&#xff0c;有效管理和处理海量日志数据对于企业获取洞察和保持运营效率至关重要。为此目的设计的强有力工具之一是 Apache Flume。本文将带您探索Flume&#xff0c;了解其功能、安装方法以及一些实际用例&#xff0c;以展示其在处理日志数据方面的有效性。 …

逻辑回归(中):数学公式学习笔记 LaTeX 版

背景 闲来无事翻了一下之前买的一个机器学习课程及之前记录的网络笔记&#xff0c;发现遇到公式都是截图&#xff0c;甚至是在纸上用笔推导的。重新整理一遍之前逻辑回归函数的学习笔记&#xff0c;主要是为了玩一下 LaTex 语法&#xff0c;写公式挺有意思的。 整理之前三篇笔…

机器学习-SVM

线性感知机分类 支持向量机 线性感知机&#xff08;Perceptron&#xff09; 感知机是线性二值分类器。 注意&#xff1a;什么是线性&#xff1f;线性分割面就是&#xff0c;就是在分割面中&#xff0c;任意两个的连线也在分割面中&#xff0c;这个分割面&#xff0c;就是线…

debian linux 只安装mysql client

查询系统版本 执行cat /etc/os-release 可以看到是debian11 rootservice-headquarters-hg-self-data-report-844ccf78b-6ls7t:/mysql#cat /etc/os-release PRETTY_NAME"Debian GNU/Linux 11 (bullseye)" NAME"Debian GNU/Linux" VERSION_ID"11&quo…