Python --- 怎么把Python当计算器用?(小白自学笔记)

怎么把Python当计算器用?(小白自学笔记)

Part I:标准数学包的导入

        今天刚刚装了python,打算用它来取代matlab的基本计算功能,当我的日常计算器用。(这里还有一个捷径,如果你跟我一样也是纯小白的话,直接问chatGPT就好了。。。关于python的常见问题,基本上他啥都知道。)

首先在python的官方文档中找到对应的标准数学库中函数的说明:

打开以后往下划拉,找到这一块:

打开以后就是各种常用的基础计算函数:

在我们的VS code中试一试这个求绝对值的函数。如图我按照官方函数的说明求“-2”的绝对值,然后单击右上角的"Run"。

运行报错:

 ‘math’没有定义。此外,我们还可以点击“PROBLEMS”,看看里面的详细错误提示。

        根据NameError后面的提示,他说,“did you forget to import ‘something’”。后面我才知道,如果要使用python自带的标准数学库math。需要先import(导入)这个math库。感觉这一点有点类似于C语言编程中的include xxx。

下面改写code如下:

 Line1: 导入数学库。

Line 2:把计算结果赋值给变量a。

Line3:使用了print函数打印计算结果,结果保存在变量a中。

好了,现在可以把python当成计算器用了,但是还有一点就是你无法在命令行中输入带有函数的命令,只能在编译窗口中输入才行。比如说,下面的做法是行不通的:

但可以做简单的计算,比如:


Part II:标准数学包的使用

幂函数

幂函数(底是变量):是一个以变量为底数,以常数作为指数的函数。

{f(x)=x^{a}}

其中 x 是变量,a是常数,表示a个未知数相乘的结果。

x的平方与x的立方:" x**2 "
#J27@CSDN 2024/04/11
import math

#power
x=2
a2=x**2
b3=x**3
print("squre of a =",a2)
print("the cube of b =",b3)

x的平方根与立方根: "math.sqrt(x)"
a=math.sqrt(a2)
b=math.cbrt(b3)
print("sqrt=",a)
print("cbrt=",b)

平方根和立方根是前面的逆运算,得到结果都是2.


指数函数

指数函数(指数是变量):是一个以常数为底数,以变量作为指数的函数。

 {f(x)=a^{x}}

其中, a 是常数,x 是变量。表示未知数个a连乘的结果。

a的x次幂:" a**x "
#exponentinal
print("for x > 1:")
base=2
x=2
a=base**(x)
print("2 to the power of x =",a)
x=7
b=base**(x)
print("2 to the power of x =",b)
print("\n")

a的x次方根:"a**x" 
print("for x < 1:")
base=2
x=1/2
a=base**(x)
print("2 to the power of x =",a)
x=1/3
b=base**(x)
print("2 to the power of x =",b,"\n")


自然指数函数

自然指数函数(指数是变量):是以欧拉数e为底数,以变量x为指数的函数。

 {f(x)=e^{x}}

其中, e是常数,x是变量。表示未知数个e连乘的结果。

 e的x次幂:"math.exp(x)"
#natural exponentinal
print("base = e")
x=1
a=math.exp(x)
print("e =",a)
x=10
b=math.exp(x)
print("e to the power of x =",b)
x=1
c=math.sqrt(math.exp(x))
print("squre root of e =",c)
print("\n")

e的x次方减1:"math.expm1(x)"

        这是在连续复利的情况下计算有效年利率的计算公式,听起来很绕对吧。我也是前段时间才刚刚给自己科普过。

复利――定期复利icon-default.png?t=N7T8https://www.shuxuele.com/money/compound-interest-periodic.html

        不懂也不要紧,反正这是python里面自带的一个函数,他可以用exp(x)-1的结果来代替。

#Effective annual rate
x=0.08
a=math.expm1(x)
print("Effective annual rate of 8% =",a)
b=math.exp(x)-1
print("Effective annual rate of 8% =",b)
print("\n")


 对数函数

对数是幂的逆运算:

b^{y}=x\Rightarrow y=log_{b}x 

读作:x以b为底的对数是y。 

比如说,幂运算要我们求2的三次方等于多少?8。对数运算问的就是,多少个2相乘才等于8呢?3。

这是幂运算:2^{3}=? 

这是对数运算:2^{?}=8

读作:8以2为底的对数是多少? 

 x以2为底的对数:"math.log2(x)"
#logarithm
x=8
a=math.log2(x)
print("log base 2 of 8 = ",a)
print("\n")

 x以10为底的对数:"math.log10(x)"
x=50
a=math.log10(x)
print("log base 10 of 50 = ",a)
print("\n")

 x以e为底的对数:"math.log(x)"
x=3
a=math.log(x)
print("log base e of 3 = ",a)
print("\n")

 x以任意数为底的对数:"math.log(x,base)"

他的计算结果等于换底公式的计算结果,也就是说, math.log(x,base)可以用math.log(x)/math.log(base)来替换,他们两个是等价的。

base=5
x=3125
a=math.log(x,base)
print("log base 5 of 3125 = ",a)
b=math.log(x)/math.log(base)
print("log(x)/log(base) = ",a)
print("\n")


两个常量

pi:"math.pi"
print("pi = ",math.pi)
print("\n")
e:"math.e"
print("e = ",math.e)
print("\n")


 (全文完)

作者 --- 松下J27 

参考文献:

1,math --- 数学函数 — Python 3.12.3 文档

2,Introduction to Logarithms

3,指数与对数

版权声明:文中的部分图片,文字或者其他素材,可能来自很多不同的网站和说明,在此没法一一列出,如有侵权,请告知,立即删除。欢迎大家转载,但是,如果有人引用或者COPY我的文章,必须在你的文章中注明你所使用的图片或者文字来自于我的文章,否则,侵权必究。 ----松下J27

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何确保软件通过SmartScreen验证,消除用户下载时的警告提示?

在当前的网络时代&#xff0c;各种软件应用程序深深渗透到人们的日常生活和工作中&#xff0c;许多企业选择自行开发应用程序以推进其业务发展。但在发布应用程序后&#xff0c;软件所有者经常会遇到一个挑战&#xff0c;即用户在下载时可能会遇到微软SmartScreen提示“此应用程…

JVM修炼之路【11】- 解决内存溢出、内存泄漏 以及相关案例

前面的10篇 都是基础的知识&#xff0c;包括类加载的过程 类加载的细节&#xff0c;jvm内存模型 垃圾回收 等等&#xff0c; 这一篇我们开始实战了解一下 各种疑难杂症&#xff1a;怎么监控 怎么发现 怎么解决 内存溢出 内存泄漏 这两个概念在垃圾回收器里面已经讲过了&#…

Java前置一些知识

文章目录 搭建Java环境安装path环境变量Java技术体系 Java执行原理JDK组成跨平台Java内存分配 IDEA管理Java程序 搭建Java环境 安装 oralce官网下载 JDK17 Windows 傻瓜式的点下一步就行&#xff0c;注意&#xff1a;安装目录不要有空格、中文 java 执行工具 javac 编译工具…

2024年第十四届MathorCup数学应用挑战赛C题解析(更新中)

2024年第十四届MathorCup数学应用挑战赛C题解析&#xff08;更新中&#xff09; 题目题目解析(更新中&#xff09;问题一问题二问题三 题目 C题 物流网络分拣中心货量预测及人员排班电商物流网络在订单履约中由多个环节组成&#xff0c;图1是一个简化的物流 网络示意图。其中&a…

状态模式:管理对象状态转换的动态策略

在软件开发中&#xff0c;状态模式是一种行为型设计模式&#xff0c;它允许一个对象在其内部状态改变时改变它的行为。这种模式把与特定状态相关的行为局部化&#xff0c;并且将不同状态的行为分散到对应的状态类中&#xff0c;使得状态和行为可以独立变化。本文将详细介绍状态…

ActiveMQ 01 消息中间件jmsMQ

消息中间件之ActiveMQ 01 什么是JMS MQ 全称&#xff1a;Java MessageService 中文&#xff1a;Java 消息服务。 JMS 是 Java 的一套 API 标准&#xff0c;最初的目的是为了使应用程序能够访问现有的 MOM 系 统&#xff08;MOM 是 MessageOriented Middleware 的英文缩写&am…

django基于python的法院执法案件管理系统

本课题使用Python语言进行开发。代码层面的操作主要在PyCharm中进行&#xff0c;将系统所使用到的表以及数据存储到MySQL数据库中&#xff0c;方便对数据进行操作本课题基于WEB的开发平台&#xff0c;设计的基本思路是&#xff1a; 框架&#xff1a;django/flask 后端&#xff…

LwIP 之八 详解 IP RAW 编程、示例、API 源码、数据流

我们最为熟知的网络通信程序接口应该是 Socket。LwIP 自然也提供了 Socket 编程接口,不过,LwIP 的 Socket 编程接口都是使用最底层的接口来实现的。我们这里要学习的 IP RAW 编程则是指的直接使用 LwIP 的提供的 RAW API 来直接实现应用层功能。这里先来一张图,对 LwIP 内部…

【Godot4自学手册】第三十六节圆形移动或扇形移动的铁球

在第三十四节我实现了来回无限滚动的伤害铁刺球&#xff0c;这一节我准备实现一个圆形移动或扇形移动&#xff0c;并带有链条的铁球。效果如下&#xff1a; 一、实现原理 绕一点做圆周运动&#xff0c;简单的说就是&#xff1a; 每一帧根据旋转的角度计算出下一个位置的坐标…

【c++leetcode】14. Longest Common Prefix

问题入口 解决方案 class Solution { public:string longestCommonPrefix(vector<string>& v) {string ans "";sort(v.begin(), v.end());int n v.size();string first v[0],last v[n - 1];for(int i 0; i < min(first.size(),last.size()); i){…

实现网站图片水印

要实现网站图片水印&#xff0c;有几种方式&#xff1a;1、对于自己想要上传图片先通过某些软件增加水印&#xff0c;然后再上传到图片服务器。2、通过上传客户端&#xff08;eg&#xff1a;picgo&#xff09;功能或插件直接自动水印以及上传服务器。本文主要聚焦于第二种方式&…

前端重置表单的多个Demo

目录 前言1. 纯重置2. reset重置3. resetFields重置4. 彩蛋 前言 由于从Java转全栈&#xff0c;对于前端的相关知识目前 以点科普面&#xff0c;此处的总结 重置前端表单内容&#xff0c;防止影响后续操作 其基本知识只需要通过点击按钮触发重置表单 1. 纯重置 可以通过按钮…

跟TED演讲学英文:The exciting, perilous journey toward AGI by Ilya Sutskever

The exciting, perilous journey toward AGI Link: https://www.ted.com/talks/ilya_sutskever_the_exciting_perilous_journey_toward_agi? Speaker: Ilya Sutskever Date: October 2023 文章目录 The exciting, perilous journey toward AGIIntroductionVocabularyTranscr…

修改cmd默认编码(win10系统) 亲测有效

win10系统,CMD默认字符编码序号是936,输入"chcp"命令可以看到此编号,右键cmd窗口–属性,同样也可以看到此编号.如下图: 我需要把字符编码序号936变更为65001,即UTF-8编码. 网上搜到的教程主要有两种: 教程一修改注册表的方法:https://learnku.com/articles/55553 测…

Ubuntu (Linux系统) 下载安装 Qt 环境

在官网http://download.qt.io/archive/qt/ 下载安装包&#xff0c;默认linux平台下提供的安装包以run后缀结尾 也可以选择其它地址下载 Qt官网下载地址&#xff1a;https://download.qt.io&#xff1b; 国内镜像下载地址&#xff1a;https://mirrors.cloud.tencent.com/qt/ 。建…

Alterac Valley

Alterac Valley 奥特兰克山谷 不要怕死&#xff0c;冲就对了&#xff0c;为了部落&#xff01;&#xff01;&#xff01;55级的我未来就是这个服务器的督军&#xff0c;跟我冲啊

实战解析:SpringBoot AOP与Redis结合实现延时双删功能

目录 一、业务场景 1、此时存在的问题 2、解决方案 3、为何要延时500毫秒&#xff1f; 4、为何要两次删除缓存&#xff1f; 二、代码实践 1、引入Redis和SpringBoot AOP依赖 2、编写自定义aop注解和切面 3、application.yml 4、user.sql脚本 5、UserController 6、U…

test4131

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起学习和分享Linux、C、C、Python、Matlab&#xff0c;机器人运动控制、多机器人协作&#xff0c;智能优化算法&#xff0c;滤波估计、多传感器信息融合&#xff0c;机器学习&#xff0c;人工智能等相关领域的知识和…

316_C++_xml文件解析成map,可以放到表格上 + xml、xlsx文件互相解析

xml文件例如&#xff1a; <?xml version"1.0" encoding"UTF-8" standalone"yes"?> <TrTable> <tr id"0" label"TR_PB_CH" text"CH%2"/> <tr id"4" label"TR_PB_CHN"…

antDesignVue 使用-持续更新

背景 vue3viteantdesignvuevue-router 1,全局完整注册 1.1下载antdesignvue npm i --save ant-design-vue 或者 npm install ant-design-vuenext --save 1.2在mian.ts中引入 import { createApp } from vue import { createPinia } from piniaimport App from ./App.vue …