標籤:字串 pre day 傳輸 gpo python3 進位 包含 基本結構
一 格式化輸出
第一種方法
name1 = input("請輸入名字:")
age1 = input("請輸入年齡:")
hobby1 = input("愛好是:")
msg = "我叫%s,今年%d歲,愛好是%s" %(name,int(age),hobby)
print(msg)
第二種方法
name1 = input("請輸入名字:")
age1 = input("請輸入年齡:")
hobby1 = input("愛好是:")
msg = "我叫%(name)s,今年%(age)s歲,愛好是%(hobby)s" %{"name":name1,"age":age1,"hobby":hobby1}
print(msg)
二 邏輯運算子的優先順序
()>Not>and>or 括弧第一 not第二 and第三 or第四
print(1>2 and 3>4 or 4<5)
print(not 9>0 and (3<5 or 8>7) and 7>6 or 3>8)
兩邊是數字時 X and Y 前為True 則輸出X 否則 輸出Y
print(1 and 8)
print(7 and 8)
print(0 and 8)
print(0 and 9)
or 與 and 相反
print(1 or 8)
print(7 or 8)
print(0 or 8)
print(0 or 9)
三 編碼
戰爭時期:
發電報,發的是高低電頻,實際上是01010101
今 0000 0001
晚 0000 0101
嗨 0000 0111
去呀 0000 1001
00000001 00000101 00000111 00001001
電腦:
儲存檔案,或者是傳輸檔案,實際上是010101010
電腦建立初期,美國,二進位,
密碼本:
ascii
00000001
01000001 01000010 01000011 ABC
因為全球語言很多,ascii不足以儲存這麼多對應關係,建立了一個超級密碼本:萬國碼unicode
8 位 == 1個位元組.
hello h一個字元,e一個字元,he就不是一個字元.
中國:中是一個字元,國是一個字元.
unicode :
建立之初,16位,2個位元組,表示一個字元.
英文: a b c 六個位元組 一個英文2個位元組
中文 中國 四個位元組 一個中文用2個位元組
改成 32位,4個位元組,表示一個字元.
a 01000001 01000010 01000011 00000001
b 01000001 01000010 01100011 00000001
中 01001001 01000010 01100011 00000001
浪費資源.
對Unicode進行升級: utf-8
utf-8 用最少用8位元,去表示一個字元.
英文: 8位,1個位元組表示.
歐洲文字: 16位,兩個位元組表示一個字元.
中文,亞洲文字: 24位,三個位元組表示.
utf-16 用最少用16位元.
gbk:
國標,只能中國人自己用, 一個中文用16位,兩個位元組表示.
單位轉化:
8位bit 8bit == 1bytes
1024bytes == 1kB
1024KB == 1MB
1024MB == 1GB
1024GB == 1TB
四 作業
判斷下列邏輯語句的True,False.
1),1 > 1 or 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6 True
2)not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6 False
2、求出下列邏輯語句的值。
1),8 or 3 and 4 or 2 and 0 or 9 and 7 8
2),0 or 2 and 3 and 4 or 6 and 0 or 3 4
3、下列結果是什嗎?
1)、6 or 2 > 1 6
2)、3 or 2 > 1 3
3)、0 or 5 < 4 False
4)、5 < 4 or 3 3
5)、2 > 1 or 6 Ture
6)、3 and 2 > 1 ture
7)、0 and 3 > 1 0
8)、2 > 1 and 3 3
9)、3 > 1 and 0 0
10)、3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 > 2 2
4. 簡述變數命名規範
1 數字 字母 底線組成
2 數字不能開頭
3 不建議用中文
4 要有描述性
5 不能太長
6 建議用駝峰題和底線
7 不能用關鍵詞
5. name = input(“>>>”) name變數是什麼資料類型? 字串類型
6. if條件陳述式的基本結構? if 條件:
結論
7. while迴圈語句基本結構? while 條件:
結論
8. 寫代碼:計算 1 - 2 + 3 ... + 99 中除了88以外所有數的總和?
a = 1
sum = 0
while a<100:
if a%2==1:
sum = sum+a
a = a+1
elif a%2==0:
if a == 88:
a+=1
continue
sum = sum-a
a = a+1
print(sum)
9. ?戶登陸(三次輸錯機會)且每次輸錯誤時顯示剩餘錯誤次數(提示:使?字串格式化)
a = 3
while a > 0:
name = input("請輸入使用者名稱:")
password = input("請輸入密碼:")
if name == "alex" and password == "123":
print("登入成功")
break
else: a -= 1
b = "今日還剩%d次" %(a)
print(b)
if a == 0:
print("今日登入次數已用完,請明天再試")
else:print("使用者名稱或密碼錯誤,重新輸入")
10. 簡述ascii、unicode、utf-8編碼關係?
ascii是最先有的,其他的都是根據它的基礎完善的, ascii用8位,一個位元組表示一個字元
Unicode也叫萬國碼 開始用16位兩個位元組表示一個字元,但是不能表示完全 後來用32位 四個位元組表示一個字元
utf-8是最佳化unicode而來,,他用最少的位來表示一個字元,比如英文用8位 歐洲用16位表示 中文用24位來表示.
11. 簡述位和位元組的關係? 8位==一個位元組
12. “?男孩”使?UTF-8編碼占 6個??個位元組?使?GBK編碼占 4個?個位元組?
13. 製作趣味模板程式需求:等待?戶輸?名字、地點、愛好,根據?戶的
名字和愛好進?任意現實 如:敬愛可親的xxx,最喜歡在xxx地??
name = input("請輸入名字:")
do = input("請輸入幹什麼:")
local = input("請輸入地點:")
msg = "敬愛的%s,在%s,喜歡幹%s" %(name,local,do)
print(msg)
14. 等待?戶輸?內容,檢測?戶輸?內容中是否包含敏感字元?如果存在
敏感字元提示“存在敏感字元請重新輸?”,並允許?戶重新輸?並列印。敏
感字元:“?粉嫩”、“?鐵鎚”
while True:
a = input("請輸入一句話;")
if "鐵鎚" in a or"粉嫩" in a:
print("含有敏感字元,請重新輸入")
continue
else:break
15. 單?注釋以及多?注釋? #後加單行注釋 ‘‘‘ 中間加多行注釋‘‘‘
16. 簡述你所知道的Python3和Python2的區別?
17. 看代碼書寫結果:
a = 1>2 or 4<7 and 8 == 8
print(a) False
18.continue和break區別?
continue結束本次迴圈,重新開始
break 結束並跳出這個迴圈
Day3默寫代碼:
Bit,Bytes,Kb,Mb,Gb,Tb之間的轉換關係。8bie==1byte 1024byte==1kb 1024kb ==1mb 1024mb==1gb 1024gb==1tb
Unicode,utf-8,gbk,每個編碼英文,中文,分別用幾個位元組表示。
Unicode下 英文 4個 中文 4個
utf-8 下 英文 1個 中文 2個
gbk下 英文 2個 中文 2個
python基礎2