Python 閒聊之Python的資料型別

2021-10-06 20:05:47 字數 4378 閱讀 1373

測試題:

0. 在 python 中,int 表示整型,那你還記得 bool、float 和 str 分別表示什麼嗎?

答:bool 表示布林型別

float 表示浮點型

str 表示字串

1. 你知道為什麼布林型別(bool)的 true 和 false 分別用 1 和 0 來代替嗎?

答:你可能聽說過計算機是很「笨」的,究其根本是因為它只認識二進位制數,所以所有的程式語言最終都會轉換成簡單的二進位制序列給cpu按照一定的規則解析。

由於二進位制只有兩個數:0 和 1,因此用 0 和 1 來表示 false 和 true 再適合不過了,因為不用浪費資源在轉換的過程上!

2. 使用 int() 將小數轉換為整數,結果是向上取整還是向下取整呢?

答:我們可愛的小甲魚說了,小數取整會採用比較暴力的截斷方式,即向下取整。(注:5.5向上取整為6,向下取整為5)

3. 我們人類思維是習慣於「四捨五入」法,你有什麼辦法使得 int() 按照「四捨五入」的方式取整嗎?

答:建議使用 isinstance(),因為它的返回結果比較直接,另外 type() 其實並沒有你想象的那麼簡單,我們後邊會講到。

5. python3 可以給變數命名中文名,知道為什麼嗎?

答:pyhton3 原始碼檔案預設使用utf-8編碼(支援中文),這就使得以下**是合法的: 

>>> 小甲魚 = '我愛你'  

>>> print(小甲魚)

>>> 我愛你

6. 【該題針對零基礎的魚油】你覺得這個系列教學有難度嗎?

答:如果有不懂的問題,請在此處提問:

0.

如果你嘗試過以下做法,請舉下小手:

temp = input("

不妨猜一下小甲魚現在心裡想的是哪個數字:")

# 這種想法是因為type(1)會返回,如果type(temp)返回結果一致說明輸入是整數。

while type(temp) != type(1):

print("

抱歉,輸入不合法,", end='')

temp = input("

請輸入乙個整數:")

複製**

或者可能這樣:

temp = input("

不妨猜一下小甲魚現在心裡想的是哪個數字:")

# not

操作符的作用是將布林型別的結果翻**即取反的意思,not true == flase

while not isinstance(temp, int):

print("

抱歉,輸入不合法,", end='')

temp = input("

請輸入乙個整數:")

複製**

以上方法的思路是正確的,不過似乎忽略了一點兒:就是input()的返回值始終是字串,所以type(temp)永遠是!  

其實有蠻多的做法可以實現的,不過就目前我們學習過的內容來看,還不足夠。

所以,在讓大家動手完成這道題之前,小甲魚介紹一點新東西給大家!

s為字串

s.isalnum()  所有字元都是數字或者字母,為真返回 ture,否則返回 false。

s.isalpha()   所有字元都是字母,為真返回 ture,否則返回 false。

s.isdigit()     所有字元都是數字,為真返回 ture,否則返回 false。

s.islower()    所有字元都是小寫,為真返回 ture,否則返回 false。

s.isupper()   所有字元都是大寫,為真返回 ture,否則返回 false。

s.istitle()      所有單詞都是首字母大寫,為真返回 ture,否則返回 false。

s.isspace()   所有字元都是空白字元,為真返回 ture,否則返回 false。

例如:>>> s = 'i love fishc'

>>> s.isupper()

>>> true

好了,文字教程就到這裡,大家趕緊趁熱打鐵,改造我們的小遊戲吧!

答:需要注意的地方在**中已經注釋!

import random

times = 3

secret = random.randint(1,10)

print('------------------

我愛魚c工作室------------------')

guess = 0

print("

不妨猜一下小甲魚現在心裡想的是哪個數字:", end=" ")

while (guess != secret) and (times > 0):

temp = input()

while not temp.isdigit():

temp = input("

抱歉,您的輸入有誤,請輸入乙個整數:")

guess = int(temp)

times = times - 1 #

使用者每輸入一次,可用機會就-1

if guess == secret:

print("

我草,你是小甲魚心裡的蛔蟲嗎?!")

print("

哼,猜中了也沒有獎勵!")

else:

if guess > secret:

print("

哥,大了大了~~~")

else:

print("

嘿,小了,小了~~~")

if times > 0:

print("

再試一次吧:", end=" ")

else:

print("

機會用光咯t_t")

print("

遊戲結束,不玩啦^_^")

複製**

ps:

import random

secret = random.randint(1,10)

print('---------"-"--------------')

i = 3

while i:

i = i - 1

temp = input("number:")

if temp.isdigit():

i = i

else:

print("check")

break

guess = int(temp)

if guess == secret:

print("****")

else:

if guess > secret:

print("big")

else:

print("small")

print("finish!")

1.寫乙個程式,判斷給定年份是否為閏年。(注意:請使用已學過的 bif 進行靈活運用)

這樣定義閏年的:能被4整除但不能被100整除,或者能被400整除都是閏年。 答:

temp = input('

請輸入乙個年份:')

while not temp.isdigit():

temp = input("

抱歉,您的輸入有誤,請輸入乙個整數:")

year = int(temp)

if year/400 == int(year/400):

print(temp + '

是閏年!')

else:

if (year/4 == int(year/4)) and (year/100 != int(year/100)):

print(temp + '

是閏年!')

else:

print(temp + '

不是閏年!')

複製**

ps:

temp = input("please give me a year:")

temp = int(temp)

i = 0

if temp % 4 == 0:

if temp % 100 == 0:

i = 0

else:

i = 1

if temp % 400 == 0:

i = 1

if i == 1:

print("yes")

else:

print("no")

2.請寫下這一節課你學習到的內容:格式不限,回憶並複述是加強記憶的好方式!

05 講 閒聊之 Python 的資料型別

本期內容介紹 1.基本資料型別 1 整型,在 python3 中長整形和整形歸為一類,所有的整數都屬於整型,例如 1,0,1000,1203 等等 2 浮點型,數字中有小數點的數,如 12.1 1.85 10.0 等等,另外 1e10 也表示浮點數 3 字串,所有以單引號或雙引號括起來的值都叫做字串...

閒聊CSS之關於clearfix 清除浮動

一,什麼是.clearfix 你只要到google或者baidu隨便一搜 css清除浮動 就會發現很多 都講到 盒子清除內部浮動時可以用到.clearfix clearfix after clearfix div class clearfix div class floated div div 上面...

閒聊CSS之關於clearfix 清除浮動

一,什麼是.clearfix 你只要到google或者baidu隨便一搜 css清除浮動 就會發現很多 都講到 盒子清除內部浮動時可以用到.clearfix clearfix after clearfix 上面的 就是.clearfix的定義和應用,簡單的說下.clearfix的原理 1 在ie6,...