Python编程输入一个小数,对第三位小数进行四舍五入 保留两位小数 不能用round()函数

Python019

Python编程输入一个小数,对第三位小数进行四舍五入 保留两位小数 不能用round()函数,第1张

#ifndef HAVE_COPYSIGN

double

copysign(double x, double y)

{

/* use atan2 to distinguish -0. from 0. */

if (y >0. || (y == 0. &&atan2(y, -1.) >0.)) {

return fabs(x)

} else {

return -fabs(x)

}

}

#endif /* HAVE_COPYSIGN */

#ifndef HAVE_ROUND

double

round(double x)

{

double absx, y

absx = fabs(x)

y = floor(absx)

if (absx - y >= 0.5)

y += 1.0

return copysign(y, x)

}

#endif /* HAVE_ROUND */

首先除法, 如果要得到小数,那么除数或者被除数,至少有一个是浮点数100/3.0 其次,保留小数 可以使用很多语言都用的一种方式 %.2f 代码 a = 100/3.0print '%.3f'%a#.3f 保留3位小数

#!/usr/bin/python3

# -*- coding:utf-8 -*-

"""

@author:Storm_duck

@file  :Average.py

@time  :2020/3/10 9:46

"""

"""

输入一个包含若干自然数的列表输出这些自然数的平均值,结果保留3个小数

"""

def aver(alist):

return sum(alist) / len(alist)

if __name__ == "__main__":

olist = eval(input("输入一个包含自然数的列表,形如:[1,2,3]:"))

print("列表平均值是:{:.3f}".format(aver(olist)))