Python練習題


#此練習題主要針對數字運算與轉換

#導入需要用到的方法們:求平方根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'>
>>> 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章