|python中内置数学函数整理

1 数学函数
Python中的内置数学函数实现了基本的数学运算 , 通过这些函数可以方便快速地获取数据结果 。 如果实现更复杂的运算则可以通过python引用模块的方式来实现 。
1.1abs() 函数——获取绝对值
功能
abs()函数返回数字的绝对值 。
语法
abs(xxx)
参数说明:
x , 数值表达方式 。
示例1
循环输出列表中定义的数字绝对值 , 代码如下:
tupleAbs=[12.450-19.69
fornumintupleAbs:print(abs(num))
运行结果为:
12.45019.69
示例2
定义函数 , 用于输出2个数字相乘后的绝对值 , 代码如下:
defcalcAbs(value1value2):returnabs(value1*value2)
调用自定义calcAbs() 函数并传入参数数据:
print(calcAbs(12.968.2))#输出结果106.27199999999999print(calcAbs(10-10))#输出结果100
1.2divmod() 函数——获取商和余数元组
功能
abs() 函数把除数和余数运算结果结合起来 , 返回一个包含商和余数的元组(a //ba%b) 。
语法
divmod(ab)
参数说明:
a , 被除数;b除数 。
示例1
计算机从参数N开始 , 向下递减的每一个数字和参数A的除数及余数的结果值 。 代码如下:
defgetDivmod(AN):whileN >=0:sn =str(N)sa =str(A)result = ['divemod({0{1:'.format(snsa)str(divomod(NA))
print(''.join(result))N = N -1
调试自定义getDivmod() 函数并传入参数数据 , 代码如下:
getDivomod(310)
运行结果为:
divmod(103):(31)divmod(93):(30)divmod(83):(22)divmod(73):(21)divmod(63):(20)divmod(53):(12)divmod(43):(11)divmod(33):(10)divmod(23):(02)divmod(13):(01)divmod(03):(00)
示例2
模拟实现数据分页计算方法 , 代码如下:
defgetSegment(curIndexgetSize):abc=['a''b''c''d''e''f''g''h''i''j''k''l''m''n''o''p''q''r''s''t''u''v''w''s''y''z'
stratGet=(curIndex-1)*getSizegetData=https://mparticle.uc.cn/api/abc[stratGet:curIndex*getSize
totaleIndexTuple=divmod(len(abc)getSize)totaleIndex=totaleIndexTuple[0
+(1iftotaleIndexTuple[1
>0else0)return(getDatatotaleIndex)
调用getSegment() 函数并传递当前也拿总条数参数 , 返回数据结果以及总的页码数 , 代码如下:
result=getSegment(25)print(result[0
)#['f''g''h''i'j'
print(result[1
)#6
1.3sum()函数——求和计算
功能:
sun() 函数队列表、元组或集合等序列进行求和计算 。
语法:
sun(iterablestart)
参数说明:
iterable , 可迭代对象 , 如列表、元组、集合;start , 序列值相加后再次相加的指 , 默认值为0 。
实例1
计算出0到100(含100)之间的所有偶数和 , 代码如下:
evenNumbers=[
i=0whilei<=100:ifi%2==0:evenNumbers.append(i)i+=1print(sun(evenNumbers))
运行结果为:
2550
实例2
计算二维序列中每个子序列的平均值以及整个序列的平均值 , 代码如下:
defavg(seq):totalLen =0everySeq = [
forsinseq:Len =len(s)everySeq.append(sum(s))print(sum(s) / Len)totalLen +=lenprint(sum(everySeq) / totalLen)
调用avg() 函数并传递二位序列参数:
avg([[101213
[121115
[2542
)
运行结果为:
11.66666666666666612.6666666666666663.258.6
1.4round() 函数——四舍五入
功能:
【|python中内置数学函数整理】round()函数返回浮点数的四舍五入值 。
语法:
round(xn)
参数说明:
x , 浮点数值;n , 要保留小数位数 。
示例1
输入一些验证小数 , 计算的出舍入后的结果 , 代码如下:
print('0.1:'round(0.1))print(\"0.5:\"round(0.5))print(\"0.6:\"round(0.6))print(\"1.3:\"round(1.3))print(\"1.5:\"round(1.5))print(\"2.5:\"round(2.5))
示例2
实现加减乘除计算机 , 代码如下:
classmyCalc:def__init__(selfab):self.a=aself.b=bdefaddition(selfRetain):returnround(self.a +self.bRetain)defsubtraction(selfRetain):returnround(self.a -self.bRetain)defdivision(selfRetain):returnround(self.a /self.bRetain)
通过while执行无限循环并等待用户输入获得计算结果 , 代码如下:
while1:get_num1 =input(\"请输入第一个数字:\")opera =input(\"请输入运算符:\")get_num2 =input(\"请输入第二个数字:\")get_retain =input(\"请输入保留的小数位数:\")num1 =float(get_num1)numl =float(get_num2)retain =int(get_retain)result =0.00ifpoera ==\"+\":result = myCalc(num1get_num2).addition(retain)elifopera ==\"-\":result = myCalc(num1get_num2).stbtraction(retain)elifopera ==\"*\":result = myCalc(num1get_num2).multiplication(retain)else:result = myCalc(num1get_num2).division(retain)print(\"结果是:\"result)
通过键盘输入一个整形或浮点型数字 , 然后按下<Enter>键 , 接着依次输入运算符号、第二个数字、要保留的小数位数 , 最后按下<Enter>键得到运算结果:
请输入第一个数字:5请输入运算符:/请输入第二个数字:3请输入保留的小数位数:2结果是:1.67请输入第一个数字:
1.5pow() 函数——计算任意数y次方的值
功能:
pwo() 函数返回x?(x的y次方)的值 。
语法
pow(xy[z
)
参数说明:
x , 底数;有 , 指数 。
示例1
编写一个进步累计器 , 实现每天进步一点点 , 计算一年提升的倍数 , 代码如下:
defprogress(val):num =1+ valyearProgress =pow(num365)output=\"\"ifyearProgress == num:output =\"原地踏步\"else:output =str(round(yearProgress1))print(\"一年进步值:\"output+\"倍\")
接受用户输入 , 然后调用progress函数:
dayVal =input(\"每天进步值:\")progress(float(dayVal))
输入腼腆进步值为0 , 得到结果:
一年进步值: 原地踏步倍
输入每天进步值为0.01 , 得到结果:
一年进步值:37.8倍
示例2
计算100到1000之间 , 哪些数的每一个数位上的数的3次方相加刚好等于该数 , 代码如下:
importmathdefgetpow():i =100whilei <1000:a = math.floor(i /100)b =1%100c = (math.floor(i /10))%10if(pow(a3)+pow(b3)+pow(c3))==i:print(i)i +=1
盗用getPow() 函数 , 将会输出以下结果:
153370171407
1.6min() 函数——取出给定参数的最小值、
功能
min() 函数用于获取指定序列中最小的数值 。
语法
min(abc...)
参数说明:
a , 数值1;参数b... , 其他数值 。
或
min(seq)
参数说明:
seq , 序列对象 , 如列表、元组等 。
示例1
随机生成10个1到100之间的数字 , 在去除这些数字中最小的值 , 代码如下:
importrandomseq = [
i =0while1<10:seq.append(random.randint(1100))i+=1getMin =min(seq)print(\"源列表值:\"seq)print(\"列表最小值:\"getMin)
示例2
利用min() 函数实现一个序列的从小到大排序 , 代码如下:
importrandomseq = [
i =0while1<15:seq.append(random.randint(1100))i+=1print(\"原列表值:\"seq)newSeq = [
whilelen(seq)>0:s =min(seq)newSeq.append(s)seq.remove(s)print(\"列表最小值:\" , newSeq)
1.7max() 函数——取出给定参数的最大值
功能
max() 函数用于获取指定序列中最大的数值 。
语法
max(aac...)
参数说明:a , 数值1;参数b... , 其他数值
或
max(seq)
参数说明:seq , 序列对象 , 如列表、元组等 。
示例1
在自定义的一段文字中找到出现次数最多的英文标点符号 , 代码如下:
importstringpythonStr =\"\"\"优点简单: Python是一种代表简单主义思想的语言 。 阅读一个良好的Python程序就感觉像是在读英语一样 。 它使你能够专注于解决问题而不是去搞明白语言本身 。 易学: Python极其容易上手 , 因为Python有极其简单的说明文档[5
。 免费、开源: Python是FLOSS (自由/开放源码软件)之一 。 使用者可以自由地发布这个软件的备份、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中 。 FLOSS是基于个团体分享知识的概念 。 可移植性:由于它的开源本质 , Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上) 。 这些平台包括Linux、windows、FreeBSD、Macintosh、Solaris、 0S/2、Amiga、 AROS、 AS/400、 Be0S、0S/390、z/OS、 Palm OS、 QNX、VMS、Psion、Acom RISC OS、 VxWorks、PlayStation、 Sharp Zaurus、Windows CE、 PocketPC、 Symbian以 及Google基于linux开发的android平台 。 解释性:一个用编译性语言比如C或C++写的程序可以从源文件(即C或C++语 言)转换到个你的计算机使用的语言(二进制代码 , 即0和1) 。 这个过程通过编译器和不同的标记、选项完成 。 面向对象: Python既支持面向过程的编程也支持面向对象的编程 。 在“ 面向过程”的语言中 , 程序是由过程或仅仅是可重用代码的函数构建起来的 。 在“面向对象”的语言中 , 程序是由数据和功能组合而成的对象构建起来的 。 可扩展性:如果需要段关键代码运行得更快或者希望某些算法不公开 ,可以部分程序用C或C++编写 , 然后在Python程序中使用它们 。 可嵌入性:可以吧Python嵌入c/c++程序 , 从而想程序用户提供脚本功能 。 \"\"\"print(max(string.punctuationkey=pythonStr.count))
示例2
定义产品各项参数值 , 实现按参数名获得该参数值最高的一个产品型号 , 代码如下:
defsearchMax(item):pro1 = {'product':'iPhone xs''sreen':5.8'price':8699weight :'177克''depth':7.7pro2 = {'product':'iPhone xs Max''screen':6.5'price':9599'Weight':'208克depth':7.7pro3 = {'product':'iPhone xr''screen :6.1''price':6499'weight';'194克''depth':8.3proList = [pro1pro2pro3
a =max(proListkey=lambdax: x[item
)msg={\"product :\"产品\"\"screen\":\"屏幕尺寸\"\"price\" :\"起价\" \"weight\":\"重量\" 'depth\":\"depth\":\"厚度\"print(\"您获取的参数是:\"msg[item
)returna
通过接收用户输入参数名 , 来获取相关产品信息:
itemName =input(\"请输入要查找配置最高的参数名称:\")productItem = searchMax(itemName)print(productItem)
当用户输入“depth”时 , 结果如下
如果这篇文章效果很好的话我很肝下一期函数整理的
推荐阅读
- 深圳市场监管|深圳进口冻品须入集中监管仓进行消杀和抽样核酸检测
- 数字人民币试点地区展开测试 集中在餐饮、零售、充值等小范围场景
- 识别“95”号段中的“李鬼” 这些小技巧要掌握!
- 珠海生活资讯交流|推动琴澳旅游合作, 大横琴文旅展示中心18日在横琴口岸正式开放
- 中国冰淇淋市场总量超千亿元 还有哪些机会可挖掘?
- 挺过上半年疫情冲击,中国电竞行业为啥更红火了?
- 本月中旬,真爱值得等待,等来了爱情,将彼此珍惜的四大星座
- 懂车帮|中国版“路虎揽胜”上街,一般人认不出来,堪称百万SUV,15万起
- 暴雨|中央气象台继续发布暴雨黄色预警!北京这些地区需注意
- 中国|13岁丧父15岁丧母,嫂子变卖嫁妆供他读书,终成中国首富,他是谁
