
可以得到圆周率π值小数点后面任意位的值哟!!
有点长,慢慢来,小白看了都会,简单。
1.取绝对值
1.1 代码:
import mathx=int(input('请输入数字:')) #如果是负数,就返回正数,即绝对值print(abs(x)) #abs是返回绝对值,得到101.2
你输入的是10,得到就是10
你输入的是-10,得到的就是-10的绝对值,正数10
1.3 注意浮点数取绝对值
代码:
import mathx=float(input('请输入数字:')) #如果是小数,就是浮点数,需要float# 浮点数的形式返回绝对值print(math.fabs(x)) #比如输入-10.5,得到就是10.5---------------------------------------------
2.取整
代码:
import mathx=float(input('请输入数字:')) #如果是小数,就是浮点数,需要float# 返回数字向上取整的结果#print(math.ceil(x)) #如输入1.3,向上取整就是2# 返回向下取整的结果print(math.floor(x)) #比如输入3.3,向下取整就是3---------------------------------------------
3.取最大值和最小值
代码
import math
x1=int(input('请输入数字:')) x2=int(input('请输入数字:'))x3=int(input('请输入数字:')) x4=int(input('请输入数字:')) x5=int(input('请输入数字:')) print(max(x1, x2, x3, x4, x5)) #取最大值#print(min(x1, x2, x3, x4, x5)) #取最小值4.除数,保留小数点
代码:
import math#x1=int(input('请输入数字:')) #这里不能设置取整,否则小数之间的除法就不能使用x1=float(input('请输入数字:'))x2=float(input('请输入数字:'))x3=x1/x2print(float(x3))5.除数,带商和余数的
代码:
import mathx1=float(input('请输入数字:'))x2=float(input('请输入数字:'))# 返回模除以后的商和余数print('(商,余数【带浮点的】)')print(divmod(x1, x2))6.除法,小数部分和整数部分
代码:
import mathx1=float(input('请输入数字:'))x2=float(input('请输入数字:'))x3=x1/x2# 返回一个浮点数的小数部分和整数部分print(x3)print('小数部分,整数部分')print("modf", math.modf(x3))7.除法,取余数
代码:
import mathx1=float(input('请输入数字:'))x2=float(input('请输入数字:'))x3=x1%x2 #%在python中是取余,即x3是余数print(x3)8.除法或者小数的四舍五入
代码:
import mathx1=float(input('请输入数字:'))x2=float(input('请输入数字:'))x3=x1/x2 # 四舍五入,后面指定位数print(round(x3, 2))#x3是一个小数,2是保留小数后面2位9.求平方根
代码:
import mathx=float(input('请输入数字:'))# 求平方根,比如√4=2,√16=4,注意浮点小数y=math.sqrt(x)print(y) #带小数点后面,默认15位# 四舍五入,后面指定位数print(round(y, 4))#y是一个小数,4是保留小数后面2位#注意如果y是正数,则只显示小数点后面1位示意图:
请输入数字:15
3.872983346207417
3.873
------------------
请输入数字:4
2.0
2.0
10.求幂
代码:
import mathx=float(input('请输入数字:'))y=float(input('请输入数字:'))# 求x的y次方,同x**y#z=x**y#print(z)print(pow(x, y))11.三角函数sin、cos等
代码:
import mathx=float(input('请输入数字:'))#sin#print(math.sin(x))#cosprint(math.cos(x))# 反余弦#print(math.acos(x))# 反正弦#print(math.asin(x))12.欧几里得范数
代码:
import mathx=float(input('请输入数字:'))y=float(input('请输入数字:'))# 返回欧几里得范数,也就是sqrt(x*x + y*y)。print(math.hypot(x, y)) #这种写法就对z=x*x + y*yprint(z)#print(math.hypot(z))这种写法不对print(math.sqrt(z))结果如下:
请输入数字:2
请输入数字:3
3.6055512754639896
13.0
3.605551275463989
13.对数
代码:
import math#x=float(input('请输入数字:'))y=float(input('请输入数字:'))# 返回以2为底的y对数结果print(math.log2(y))#注意对数,以2为底的对数是log2,以10为底的对数是log10,暂时没有以x为底的对数logx函数14.e自然常数
代码:
import mathe=math.e #e为自然常数#x=float(input('请输入数字:'))#y=float(input('请输入数字:'))print(e) #得到2.718281828459045# 返回以e为底的对数结果#print(math.log(math.e)) #得到115,圆周率π
代码一:
import mathp=math.pi #pi为圆周率πprint(p) #默认得到3.141592653589793代码二:#这个求任意小数点后的π的值,且未用到math(因为其中的π值是默认小数点后面位数的)
#导入时间模块import time#计算当前时间time1=time.time()#算法根据马青公式计算圆周率number = int(input('请输入想要计算到小数点后的位数n:'))# 多计算10位,防止尾数取舍的影响number1 = number+10# 算到小数点后number1位b = 10**number1# 求含4/5的首项x1 = b*4//5# 求含1/239的首项x2 = b// -239# 求第一大项he = x1+x2#设置下面循环的终点,即共计算n项number *= 2#循环初值=3,末值2n,步长=2for i in range(3,number,2): # 求每个含1/5的项及符号 x1 //= -25 # 求每个含1/239的项及符号 x2 //= -57121 # 求两项之和 x = (x1+x2) // i # 求总和 he += x# 求出πpai = he*4#舍掉后十位pai //= 10**10# 输出圆周率π的值paistring=str(pai)result=paistring[0]+str('.')+paistring[1:len(paistring)]print (result)time2=time.time()print (u'总共耗时:' + str(time2 - time1) + 's')比如想要得到π值的小数点后面100位,直接输入100,得到如下情况:
----------输出情况如下-------------------------------
请输入想要计算到小数点后的位数n:100
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
总共耗时:3.2010533809661865s
-------------喜不喜欢?----------------------------
















