[Python函数][数学函数]abs(),divmod(),sum(),round()

1.abs()函数--获取绝对值

功能:返回数字的绝对值。
语法:abs(x)    x是数值表达式
示例一

tupleAbs = [111, -222]
for num in tupleAbs:
    print(abs(num))
# 结果:
111
222

示例二

def calcAbs(x, y):
    return abs(x * y)
print(calcAbs(10,-2))
# 结果:
20

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

功能:把除数和余数运算结果结合起来,返回一个包含商和余数的元组。
语法:divmod(a, b)   a是被除数,b是除数
示例一

def getDivmod(N, A):
    while N >= 0:
        sn = str(N)
        sa = str(A)
        result = ['divmod({},{})'.format(sn, sa), str(divmod(N, A))]
        print(''.join(result))
        N -= 1
getDivmod(10, 3)
# 结果:
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)

示例二-模拟实现数据分页计算方式

def getSegment(curIndex, getSize):
    abc = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
    stratGet = (curIndex-1) * getSize
    getData = abc[stratGet:curIndex*getSize]
    totalIndexTuple = divmod(len(abc),getSize)
    totalIndex = totalIndexTuple[0] + (1 if totalIndexTuple[1] > 0 else 0)
    return (getData, totalIndex)

result = getSegment(6, 5)  # 传递当前页码和每页总条目数
print(result[0])    # 返回当前页码条目
print(result[1])    # 返回总页码数
print(result)
# 结果
['z']
6
(['z'], 6)

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

功能:对列表、元组或集合等序列进行求和计算。
语法:sum(iterable, start) iterable是可迭代对象,start默认为0
示例一-计算0-100之间所有偶数之和

numList = []
i = 0
while i <= 100:
    if i%2 == 0:
        numList.append(i)
    i += 1
print(sum(numList))
# 结果:
2550


示例二

def avg(seq):
    totalLen = 0
    everySeq = []
    for s in seq:
        Len = len(s)
        everySeq.append(sum(s))
        print(sum(s)/Len)
        totalLen += Len
    print(sum(everySeq) / totalLen)

avg([[5, 10, 5], [2, 1, 1], [3, 3, 3]])
# 结果:
6.666666666666667
1.3333333333333333
3.0
3.6666666666666665

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

功能:返回浮点数的四舍五入
语法:round(x, n)   x是浮点数值,n是要保留的小数位数
示例一

print('0.1:',round(0.1))
print('1.05:',round(1.05,1))
print('3.5:',round(3.5))
print('0.6:',round(0.6))
print('0.5:',round(0.5))
# 结果(0.5会判断为0 但是测试的其他如1.5、2.5、1.05这种都是5进位,有种说法说5会存在各50%进位或省略)
0.1: 0
1.05: 1.1
3.5: 4
0.6: 1
0.5: 0

示例二-加减乘除计算器

class myCalc:
    def __init__(self, a, b):
        self.a = a
        self.b = b
    def addition(self, Retain):
        return round(self.a + self.b, Retain)
    def subtraction(self, Retain):
        return round(self.a - self.b, Retain)
    def multiplication(self, Retain):
        return round(self.a * self.b, Retain)
    def division(self, Retain):
        return round(self.a / self.b, Retain)
while 1:
    get_num1 = input('请输入第一个数字:')
    opera = input('请输入运算符:')
    get_num2 = input('请输入第二个数字:')
    get_retain = input('请输入要保留几位小数:')
    num1 = float(get_num1)
    num2 = float(get_num2)
    retain = int(get_retain)
    result = 0.0
    if opera == '+':
        result = myCalc(num1, num2).addition(retain)
    if opera == '-':
        result = myCalc(num1, num2).subtraction(retain)
    if opera == '*':
        result = myCalc(num1, num2).multiplication(retain)
    if opera == '/':
        result = myCalc(num1, num2).division(retain)
    print(result)
# 结果
请输入第一个数字:12.123
请输入运算符:+
请输入第二个数字:12.123
请输入要保留几位小数:3
24.246

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值