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