python成長之路二
python的print格式化輸出,以及使用format來控制。
1,打印字符串(str),利用%s
。
>>> print (‘My name is %s‘ % (‘TaoXiao‘)) My name is TaoXiao
2,打印整數,浮點數。
>>> print ("He is %d years old" % (23)) # 整數 %d He is 23 years old >>> print ("His height is %f m" % (1.73)) # 浮點數 %f His height is1.730000 m >>> print ("His height is %.2f m" %(1.73)) # 浮點數(指定保留小數點位數) %.2f His height is 1.73 m >>> print ("His height is %.4f m" %(1.73)) # 浮點數(強制保留4位) %.4f His height is 1.7300 m
3,利用format。這是官方推薦用的方式,%方式將可能在後面的版本被淘汰。
>>> print(‘{1},{0},{1}‘.format(‘TaoXiao‘,18)) # 通過位置傳遞,相當方便,可以重復,可以換位置。 18,TaoXiao,18 >>> print(‘{name}: {age}‘.format(age=24,name=‘TaoXiao‘)) # 通過關鍵字傳遞 TaoXiao: 24
bug 點 在格式化輸出中,只想單純的表示一個%時,應該用%% 表示
>>> print(‘我叫%s,今年%d,我的學習進度1%%‘ % (‘關亮和‘,28))
我叫關亮和,今年28,我的學習進度1%
運算符
優先級:()> not > and > or
1,前後條件為比較運算
print(1 < 2 or 3 > 1)
print(1 < 2 and 3 > 4)
print(1 < 2 and 3 > 4 or 8 < 6 and 9 > 5 or 7 > 2)
print(1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8)
print(1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6)
2,前後兩邊的條件為數值
- x or y if x is True,return x
- 0 對應的bool值為False,非0 都是True.
- True 1 ,False 0
print(bool(100)) print(bool(-1)) print(bool(0)) print(int(True)) print(int(False))
不同編碼方式對應所占字節數
- ①ASCII碼中,一個英文字母(不分大小寫)占一個字節的空間,一個中文漢字占兩個字節的空間。一個二進制數字序列,在計算機中作為一個數字單元,一般為8位二進制數,換算為十進制。最小值0,最大值255。
- ②UTF-8編碼中,一個英文字符等於一個字節,一個中文(含繁體)等於三個字節。
- ③Unicode編碼中,一個英文等於兩個字節,一個中文(含繁體)等於兩個字節。
- 符號:英文標點占一個字節,中文標點占兩個字節。舉例:英文句號“.”占1個字節的大小,中文句號“。”占2個字節的大小。
- ④UTF-16編碼中,一個英文字母字符或一個漢字字符存儲都需要2個字節(Unicode擴展區的一些漢字存儲需要4個字節)。
- ⑤UTF-32編碼中,世界上任何字符的存儲都需要4個字節。
while循環
1,基本循環
while 條件: # 循環體 # 如果條件為真,那麽循環體則執行 # 如果條件為假,那麽循環體不執行
2,循環終止語句
- break
num = 0 while True: print(num) num += 1 if num == 100: break
- continue
count = 0 while count < 10: count += 1 if count == 7: continue print(count)
- while ... else ..
與其它語言else 一般只與if 搭配不同,在Python 中還有個while ...else 語句
while 後面的else 作用是指,當while 循環正常執行完,中間沒有被break 中止的話,就會執行else後面的語句
while flag < 3: flag +=1 num = int(input("請輸入一個數字:")) if num > 66: print("你輸入的數字太大了") elif num < 66: print("你輸入的數字太小了") else: print("恭喜你,猜對了") break else: print("太笨了你...")
如果執行過程中被break啦,就不會執行else的語句啦
count = 0 while count <= 5 : count += 1 if count == 3:break print("Loop",count) else: print("循環正常執行完啦") print("-----out of while loop ------")
課後作業
1、判斷下列邏輯語句的True,False.
1)1 > 1 or 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
2)not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
2、求出下列邏輯語句的值。
1),8 or 3 and 4 or 2 and 0 or 9 and 7
2),0 or 2 and 3 and 4 or 6 and 0 or 3
3、下列結果是什麽?
1)、6 or 2 > 1
2)、3 or 2 > 1
3)、0 or 5 < 4
4)、5 < 4 or 3
5)、2 > 1 or 6
6)、3 and 2 > 1
7)、0 and 3 > 1
8)、2 > 1 and 3
9)、3 > 1 and 0
10)、3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 > 2
4、while循環語句基本結構?
5、利用if語句寫出猜大小的遊戲:
設定一個理想數字比如:66,讓用戶輸入數字,如果比66大,則顯示猜測的結果大了;如果比66小,則顯示猜測的結果小了;只有等於66,顯示猜測結果正確,然後退出循環。
6、在5題的基礎上進行升級:
給用戶三次猜測機會,如果三次之內猜測對了,則顯示猜測正確,退出循環,如果三次之內沒有猜測正確,則自動退出循環,並顯示‘太笨了你....’。
7、使用while循環輸出 1 2 3 4 5 6 8 9 10
8、求1-100的所有數的和(三種方法)
9、輸出 1-100 內的所有奇數(兩種方法)
10、輸出 1-100 內的所有偶數(兩種方法)
11、求1-2+3-4+5 ... 99的所有數的和
12、?戶登陸(三次輸錯機會)且每次輸錯誤時顯示剩余錯誤次數(提示:使?字符串格式化)
13、簡述ASCII、Unicode、utf-8編碼關系?
14、簡述位和字節的關系?
15、“?男孩”使?UTF-8編碼占??個字節?使?GBK編碼占?個字節?
python成長之路二