本節(jié)內(nèi)容
- 整型:整數(shù),長(zhǎng)度不受限制,計(jì)算機(jī)虛擬內(nèi)存總數(shù)
- 浮點(diǎn)型:小數(shù)。
- 布爾類型:特殊整型,TRUE/FALSE。TRUE=1,FALSE=0
- e記法:用來表示特別小或特別大的數(shù).
1. 類型轉(zhuǎn)換
整型 int()——浮點(diǎn)型 float()——字符串 str()
2.獲得關(guān)于類型的信息
type()
isinstance():
a= 'abc'
isinstance(a,str)
TRUE
課后作業(yè):
0. 在 Python 中,int 表示整型,那你還記得 bool、float 和 str 分別表示什么嗎?
答:bool:布爾類型TRUE/FALSE;float:浮點(diǎn)型,小數(shù)。str:字符串。
1.你知道為什么布爾類型(bool)的 True 和 False 分別用 1 和 0 來代替嗎?
答:True = 1和 False = 0
計(jì)算機(jī)只認(rèn)識(shí)二進(jìn)制的0和1,所以用True和False分別用1和0代替省去了轉(zhuǎn)換的步驟
2.使用 int() 將小數(shù)轉(zhuǎn)換為整數(shù),結(jié)果是向上取整還是向下取整呢?
答:向下取整,小數(shù)點(diǎn)后面的都丟棄
3.人類思維是習(xí)慣“四舍五入”法,有什么辦法使得int()按照“四舍五入”的方式取整?
答:原浮點(diǎn)數(shù)加0.5,然后再轉(zhuǎn)換為int型
a = 3.73
int( a + 0.5 )
4.取的一個(gè)變量的類型,視頻中介紹可以使用type()和 isinstance(),你更傾向使用哪個(gè)?
答:type(),不用比較,一眼可見。
5.Python3 可以給變量命名中文名,知道為什么嗎?
答:不知道
Python3 默認(rèn)使用 UTF-8編碼,支持中文
動(dòng)動(dòng)手:
0.針對(duì)視頻中小甲魚提到的小漏洞,再次改進(jìn)我們的小游戲:當(dāng)用戶輸入錯(cuò)誤類型的時(shí)候,及時(shí)提醒用戶重新輸入,防止程序崩潰。
print('--------猜數(shù)字--------')
import random
secret = random.randint(1,10)
count = 3
print('請(qǐng)輸入你猜的數(shù)字:',end="")
num = 0 #在條件引用參數(shù)前必須賦值
while num != secret and count>0:
tmp = input() #第一次輸入數(shù)字的判斷
while not tmp.isdigit(): #isdigit判斷是否只由數(shù)字組成
tmp = input("sorry,輸入類型有誤,請(qǐng)輸入一個(gè)整數(shù):")
num = int(tmp)
count = count - 1
if num == secret:
print('恭喜,猜對(duì)了!')
else:
if num > secret:
print('大了,大了!')
else:
print('小了,小了!')
if count > 0: #在循環(huán)里先判斷次數(shù)是否大于0
print('請(qǐng)?jiān)俨乱淮危?,end="")
else:
print('機(jī)會(huì)用完了!')
print('游戲結(jié)束!')
多加兩行語句,判斷輸入是否為整數(shù),不是則給出提示:
S.isdigit()返回的是布爾值:True/False
S中至少有一個(gè)字符且如果S中的所有字符都是數(shù)字,那么返回結(jié)果就是True;否則,就返回False。
while not ,則表示條件為FALSE時(shí)。
1.寫一個(gè)程序,判斷給定年份是否為閏年
print('-----------------求閏年------------')
tmp = input('請(qǐng)輸入年份: ')
while not tmp.isdigit() :
tmp = input('sorry,請(qǐng)輸入正確年份:')
year = int(tmp)
if year/400 == int(year/400) :
print(tmp+'是閏年')
else:
if year/4 == int (year/4) and (year/100 !== int (year/100)) :
print(tmp+'是閏年')
else :
print(tmp+'不是閏年')