Chape5:數字
Tower_link:第五週
本章中重點談到數字的類型,從整數型、布爾型、標準的整數型、長整數型、浮點型實數、複數、操作符、內建函數、相關模塊。
5.1布爾型
python2.3版本後,開始支持bool,輸出值為True,False
5.2標準整數型:
假使在32位元的虛擬機上,數字範圍就是(-2的31次方)~( 2的31次方-1)
八進位以數字“0”開頭
十六進位數字以“0x”開頭
5.3長整數行:
範圍與虛擬機大小有關,在一整數後面加上L,表示是長整數
5.4雙精度浮點數:
類似C語言的double類型,像是-5.25 or (9.3e-23)
5.5複數:
表示式eg. 6+8k
屬性
實數num.real
虛數num.imag
共軛複數num.conjugate()
5.6數值類型的轉換
在不同數據類型運算時,python會將兩數轉成相同的數據類型,然後做計算,
以下是轉換的流程圖
5.7運算符
%:取餘數,對於浮點數數的結果為:x-(math.floor(x/y) *y)
//:地板除(向下取整數)
/:除法,兩個都是整數的話就是地板除,假使有浮點數,那就是不會有餘數的除法,假使要返回真實的商,那就是輸入from __future__ import divisiom
**:冪運算:-3 **2=-9優先及高於左側
位運算符:取反優先級最高、左移和右移次之,(與、或、異或)最低
5.8數字類型函數
complex(1+6j)=1+6j
int(2)=3
float(4)=4.0
long(5)=5L
5.8.2功能函數
abs():到原點的距離,abs(-1)=1
coerce(num1,num2):返回一個包含類型完畢的兩個數值元素的元組
eg:coerce(1.23-41j, 12L) #(1.23-41j,(134+0j))
divmod(num1,num2):結合除法、餘數的運算eg. divmod(10,3)=(3,1)
pow():指數的運算eg.pow(2,5)=32
round(4.3333,2)=4.33對浮點數四捨五入
5.8.3僅用於整數的函數
5.9.1布爾數
有兩個永不改變的值,True,False
對於空集合、空集、空列表、空字典,都是對應到False
在數學運算中,Boolean值得True and False分別對應1 and 0
5.9.2十進制浮點數:
from decimal import Decimal
dec=Decimal(‘.1’)
result=dec+Decimal(’10.1’)
5.10數字類型相關模塊
random:隨機產生器,random.randrang(100,110,3) #103,隨機返回range([start,]stop,[,step])
random.randint(1,19) # 15,返回的是兩者之間的一個整數
練習:
5-1:python普通整形與長整形的區別
普通整形:最大表示2 **61 -1(64位元機器)
長整形:通常與內從有關,當普通整型溢出時,就會轉成長整形
5-2運算符
5.3標準類型運算符:done
5.4:
def is_leap_year(year):
if year%4==0 and year %100==0:
returnTrue
elifyear %4 ==0 and year %100 !=0:
return True
else:
return False
print (year(1900))
print (year(1992))
5.5取餘數:無法立即想到,尚未解答
5.6算數:回答不出來
5.7營業類:省略
5.8幾何:省略
5.9數值形式
a.因為數字以0開頭屬於八進制
b.數字以l不是1結尾表示長尾型
5-10轉換
5-11取餘:用x%2==0 or x%2!=0與while概念去結合,其餘略
5-12:系統限制
results:
5-13:轉換:略
5-14:銀行利息
5-15最大供因數與最小公倍數
5-16家庭財務:略
5-17:隨機數:解不出來,按照seven同學在做一遍