#此练习题主要针对数字运算与转换
#导入需要用到的方法们:求平方根sqrt(),floor()向下取数,trunc()截断
from math import sqrt
from math import floor
from math import trunc
#运算符的优先级
"""
可以看到优先级顺序:
括号 > 乘除>加减法
这和我们在数学中的习惯一样。
"""
a=2*(3+4)
print("2*(3+4)=" +str(a))
print("\n")
b=2*3+4
print("2*3+4="+str(b))
print("\n")
c=2+3*4
print("2+3*4="+str(c))
print("\n")
#求144的平方根
"""
math模块钟有许多的数学方法,求平方根sqrt()就是其中一个。
"""
d=144
d1=sqrt(144)
print("sqrt(144)="+str(d1))
print("\n")
#不同类型的运算,其运算结果的类型,会向上自动转换
"""
整数与浮点数的运算结果是浮点数。
判断向上转换,可以简单的理解成复杂性。
复数>浮点数>整数
"""
e=1+2.0+3
print("type (1+2.0+3):" +(str(type(e))))
print("\n")
g=9
print("type(g)"+str(type(g)))
g1=g+0.0
print("type(g+0.0):"+str(type(g1)))
g2=float(g)
print("type(float(g)):"+str(type(g2)))
g3=g/1
print("type(g/1):"+str(type(g3)))
print("\n")
#floor(),trunc(),与round()的区别
"""
floor()会向下取其离得最近的整数
trunc()只是简单的截断
round()是四舍五入
这里面当对象是一个负数的时候,需要注意其区别。
"""
#f=3.5415926
f=-3.5415926
print("f="+str(f))
f1=floor(f)
print("floor(f)="+str(f1))
f2=trunc(f)
print("trunc(f)="+str(f2))
f3=round(f)
print("round(f)="+str(f3))
print("\n")
#支持8进制,16进制,Py3.0新增了10进制。
h=64
print("decimal number:"+str(h))
ho=oct(h)
print("octal number:"+str(ho))
hh=hex(h)
print("hexdecimal number:"+str(hh))
print("\n")
num_oct=0o100
print("original octal number:"+str(num_oct),"type:"+str(type(num_oct)))
o2d=int(str(num_oct),10)
print("octal convert to decimal :"+str(o2d))
print(str(eval(str(num_oct))),type(eval(str(num_oct))))
运行结果展示
>>>
2*(3+4)=14
2*3+4=10
2+3*4=14
sqrt(144)=12.0
type (1+2.0+3):<class 'float'>
type(g)<class 'int'>
type(g+0.0):<class 'float'>
type(float(g)):<class 'float'>
type(g/1):<class 'float'>
f=-3.5415926
floor(f)=-4
trunc(f)=-3
round(f)=-4
decimal number:64
octal number:0o100
hexdecimal number:0x40
original octal number:64 type:<class 'int'>
octal convert to decimal :64
64 <class 'int'>
>>>