欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python练习06_20200809(实现四舍五入&reduce函数)

程序员文章站 2022-04-11 21:54:42
1、实现四舍五入,禁止使用python内建函数。func(soure_num, precise),source_num为需要处理的数据,precise为需要保留的位数,\例如:a=45.3546,func(a, 1),返回结果为45.4,func(a, 2)返回结果为45.35def new_round(number, precise=0): digit = 10 ** precise num2 = float(int(number * digit)) print(di....
1、实现四舍五入,禁止使用python内建函数。
func(soure_num, precise),source_num为需要处理的数据,precise为需要保留的位数,\
例如:a=45.3546,func(a, 1),返回结果为45.4,func(a, 2)返回结果为45.35
def new_round(number, precise=0):

    digit = 10 ** precise
    num2 = float(int(number * digit))
    print(digit, num2)

    # 找出四舍五入位的数字
    find_index = str(number).find('.')
    tag = str(number)[find_index + precise + 1]

    # 此数与5判断
    if number >= 0:
        if int(tag) >= 5:
            return (num2 + 1) / digit
        else:
            return num2 / digit
    else:
        if int(tag) >= 5:
            return (num2 - 1) / digit
        else:
            return num2 / digit


a = 45.3546
b = 2
print('原数字为{},保留小数点后{}位,四舍五入的结果是{}'.format(a, b, new_round(a, b)))

python练习06_20200809(实现四舍五入&reduce函数)

2、实现reduce的功能,请自行百度内建函数reduce的功能。

reduce() 函数会对参数序列中元素进行累积。

函数将一个数据集合(链表,元组等)中的所有数据进行下列操作:
用传给 reduce 中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,
得到的结果再与第三个数据用 function 函数运算,最后得到一个结果。
reduce(f,[x1,x2,x3,x4,x5]) = f(f(f(f(x1,x2),x3),x4),x5)

reduce(function, iterable[, initializer])
function -- 函数,有两个参数
iterable -- 可迭代对象
initializer -- 可选,初始参数
def test_reduce(function, iterable, initializer=None):
    it = iter(iterable)
    if initializer is None:
        value = next(it)
    else:
        value = initializer
    for element in it:
        value = function(value, element)
    return value


print(test_reduce(lambda x, y: x + y, range(5), 8))

python练习06_20200809(实现四舍五入&reduce函数)

参考链接:https://docs.python.org/3.8/library/functools.html

本文地址:https://blog.csdn.net/passion_for_life/article/details/107899604

相关标签: python