python之数学函数篇

1、abs()函数--取绝对值

功能:abs()函数返回数字的绝对值

语法:abs(x)

参数说明:x为数值表达式

tupleAbs = [12.45,0,-19.69]
for num in tupleAbs:
    print(abs(num))

结果:

12.45
0
19.69

2、divmod()函数--获取商和余数的元组

功能:divmod()函数把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a//b,a%b)

语法:divmod(a,b)

参数说明:a为被除数,b为除数

def getDivmod(A,N):
    while N >=0:
        sn = str(N)
        sa = str(A)
        result = ['divmod({0},{1}):'.format(sn,sa),str(divmod(N,A))]
        print(''.join(result))
        N = N - 1
getDivmod(3,10)

结果:

divmod(10,3):(3, 1)
divmod(9,3):(3, 0)
divmod(8,3):(2, 2)
divmod(7,3):(2, 1)
divmod(6,3):(2, 0)
divmod(5,3):(1, 2)
divmod(4,3):(1, 1)
divmod(3,3):(1, 0)
divmod(2,3):(0, 2)
divmod(1,3):(0, 1)
divmod(0,3):(0, 0)

3、sum()函数--求和计算

功能:sum()函数对列表、元组或集合等序列进行求和计算

语法:sum(iterable,start)

参数说明:iterable为可迭代对象,如列表、集合、元组;start为序列值相加后再次相加的值,默认为0

evenNumbers = []
i = 0
while i<=100:
    if i%2 == 0:
        evenNumbers.append(i)
    i+=1
print(sum(evenNumbers))

结果:

2550

4、round()函数--四舍五入

功能:round()函数返回浮点数的四舍五入的值

语法:round(x,n)

参数说明:x为浮点数值,n为要保留的小数位数

print('0.1:',round(0.1))
print('2.5:',round(2.5))
print('5.8:',round(5.8))

结果:

0.1: 0
2.5: 2
5.8: 6

5、pow()函数--计算任意数y次方的值

功能:pow()函数返回x的y次方的值

语法:pow(x,y[,z])

参数说明:x为底数,y为指数

#计算100到1000之间,哪些数的每一个位数上的数的三次方相加刚好等于该数
import math
def getPow():
    i = 100
    while i<1000:
        a = math.floor(i/100)
        b = i%10
        c = (math.floor(i/10))%10
        if (pow(a,3)+pow(b,3)+pow(c,3))==i:
            print(i)
        i+=1
getPow()

结果:

153
370
371
407

6、min()函数--取出给定参数的最小值

功能:min()函数用于获取指定序列中最小的数值

语法:min(a,b,c,d,e,f……)或min(seq)

参数说明:a,b……为数值,seq为序列对象,如列表、元组等

import random
seq = []
i = 0
while i<10:
    seq.append(random.randint(1,100))
    i += 1
getMin = min(seq)
print('原值列表:',seq)
print('最小值:',getMin)

结果:

原值列表: [44, 44, 61, 18, 21, 7, 67, 41, 55, 72]
最小值: 7

7、max()函数--取出给定参数的最大值

功能:max()函数用于获取指定数值或指定序列中的最大值

语法:max(a,b,c……)或max(seq)

参数说明:a,b,c……为数值,seq为列表或元组

#找出出现次数最多的英文标点符号
import string
pythonStr = """difhsnf,wfnd,fniwfe,in.iefh?jif;iuef,jefn.iefhui,ifeji.jie?ji,ioef,
jfief,fehf,jf.iefh.efh.wiehf?kef.iuef,n.ie,af.fe.e.w.q.r.r.y"""
print(max(string.punctuation,key=pythonStr.count))

结果:

'英文句号'--太小了,以此显示

 

posted @ 2020-06-08 22:52  夏日的向日葵  阅读(755)  评论(0编辑  收藏  举报