1.循環結構: while 條件語句 :git
循環體面試
例: while True:數據庫
print(「123」)#該循環爲死循環,理論上無限循環學習
2.循環流程:優化
1.判斷條件:若是循環條件爲真,進入循環體;編碼
2.循環體代碼執行完後,返回繼續判斷循環條件,周而復始。spa
3.如何終止循環code
1.改變循環條件orm
引入標誌位的概念對象
例:
flag = True count = 1 while flag: print(count) count = count+1 if count== 101: flag = False
練習題:從1-100打印
方法一:使用不等式判斷
count = 0 while count < 100: count += 1 print(count)
方法二:使用標誌位概念
flag = True count = 0 while flag: count += 1 print(count) if count == 100: flag = False
2.關鍵字 break
做用:直接結束循環,break以後的代碼將不會執行
3.關鍵字 continue
做用:結束本次循環,繼續判斷循環條件後進行下一次循環.
4.循環結構:while 循環條件:
循環塊
else:
執行結果
注意:若是循環塊中有break,且執行了break後將不執行else的執行結果
5.while循環的應用場景
驗證用戶密碼,重複輸入須要運用while循環
執行次數
無限次的顯示頁面的場景
做用:製做模塊,針對某些位置的參數是動態的信息。字符串動態替換等。
佔位符定義:%,就是動態信息的插入位置,其後跟隨s或者d,分別是str(字符串類型)和digit(數字類型)的縮寫
方式一:
msg = "你的名字是%s,年齡爲%d,性別是%s" % (name,age,sex)
方式二:
msg = "你的名字是%(name1)s,年齡爲%(age1)d,性別是%(sex1)s" % {"name1": "hexin","age1":18,"sex1":"nan"}
特殊狀況:
例:
s2 = "個人名字是%s,我今年%s歲,個人學習進度是1%%" %("alex","18",)
模塊中只是爲了表示進度,則須要輸入%%,這樣就表明他不是佔位符
1.算數運算符
%取餘,**冪次,//取整除
2.比較運算符
==等於比較對象是否同樣
!= 不等於
3.賦值運算符
+=,-=,*=,/=
4.邏輯運算符(重點)
and(與) or(或) not(非)
優先級: () > not > and > or
1.先後條件爲比較運算
例:
print (1< 2 or 3>1)
輸出爲True
2.先後倆邊條件爲數值
則 x or y,x is True ,則返回x;不然返回y。 x and y與x or y的結果相反
補充:int與bool的轉換
0對應的bool值爲False,非0數字對應的Bool值爲True
面試題:
print(0 or 3 and 5 or 4) print(1 > 2 or 3 and 4 < 6) print(2 or 3 and 4 < 6)
執行結果爲 5 False 2
應用
1.if while等條件判斷(數據庫,Django orm Q查詢)
2.面試
ASCII碼:最第一版本的編碼規則,包含全部英文,數字,特殊字符。
最初一個字符對應7位,最終優化爲8位
面試題:ASCII最左一位都是0
爲何都是0?
由於當時的創造者預留的。
例:對於ASCII碼來講: "hello word"表示10個字符。 10個字節 空格也表示一個字符
Unicode:萬國碼,將全世界全部國家的文字都寫入這個編碼方式裏。
起初:1個字符 16位 2個字節表示
改版:1個字符 32位 4個字節表示
過於浪費資源
utf-8:最少使用8位表示1個字符
英文:8位 1字節
歐洲文字:16位 2字節
中文:24位 3字節
GBk:國標,只包含中文,英文(英文字母,數字和特殊字符)
英文:1個字節
中文:2個字節
難點:Gbk與utf-8之間的編碼轉換
補充:全部其他的編碼英文字符所有都映射與ASCII碼
存儲單位 8bit(位) == 1bytes 1024bytes == 1kb 1024kb == 1MB 1024MB == 1GB 1024GB == 1TB 1024TB == 1PB