1. 程式人生 > >python成長之路二

python成長之路二

con str flag new true urn 進制數 pre continue

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 is
1.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成長之路二