[ python ] 格式化輸出、字符集、and/or/not 邏輯判斷
格式化輸出
%: 占位符
s: 字符串
d: 數字
%%: 表示一個%, 第一個%是用來轉義
實例:
name = input(‘姓名:‘) age = int(input(‘年齡:‘)) print(‘我叫%s, 我的年齡:%d,我的學習進度3%%.‘ %(name, age)) # 執行結果: # 姓名:hkey # 年齡:20 # 我叫hkey, 我的年齡:20,我的學習進度3%.
初始編碼
最初的編碼是由美國提出,當時只規定了 ASCII碼用來存儲字母及符號,後來為了解決全球化文字的差異,創建了萬國碼:unicode
在 unicode中,
1個字節表示了所有的英文、特殊字符、數字等等;
一個中文需要 4個字節表示,32位 就很浪費。
後來,從 unicode 升級到 utf-8, UTF-8 是Unicode的實現方式之一
在 utf-8 中,一個文字用 3 個字節來存儲。
00000001 8位bit == 1個字節(byte)
1byte 1024byte(字節) == 1KB
1KB 1024KB == 1MB
1MB 1024MB == 1GB
1GB 1024GB == 1TB
and or not 邏輯判斷
判斷優先級(重點):() > not > and > or
練習1: 判斷下面返回結果 (提示:根據 () > not > and > or 來進行判斷)
1,3>4 or 4<3 and 1==1 # 3>4 or False # False 2,1 < 2 and 3 < 4 or 1>2 # True or 1>2 # True 3,2 > 1 and 3 < 4 or 4 > 5 and 2 < 1 # True or False # True 4,1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8 # False or False or 9 < 8 # False 5,1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6 # False or False and 9 > 8 or 7 < 6 # False or False or 7 < 6 # False or False # False 6,not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6 # False and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6 # False or False and 9 > 8 or 7 < 6 # False or False or 7 < 6 # False or False # False
上面是條件判斷,也可以直接進行數字的判斷:
x or y x為非零,則返回x, 否則返回 y
print(1 or 2) # 1 print(3 or 2) # 3 print(0 or 2) # 2 print(0 or 100) # 100 當 or 前面的數字不為0的時候,則返回前面的數字; 當 or 前面的數字為0,則返回後面的數字。
x and y x為True,則返回y,與 or 正好相反
print(1 and 2) # 2 print(0 and 2) # 0 當 and 前面的數字非0,則返回後面的數字; 當 and 前面的數字為0,則返回0.
數字和布爾值之間的轉換,遵循以下兩條規則:
(1)數字轉換為 bool值:非零轉為bool值為:True;0 轉換為bool值為:False
(2)bool值轉換為數字:True 為:1; False 為 0
作業題:
1. 使用while循環輸入1,2,3,4,5,6 8,9,10
2. 求 1-100 的所有數的和
3. 輸出 1-100 的所有奇數
4. 輸出 1-100 的所有偶數
5. 1-2+3-4+5 ...99的所有數的和
6. 用戶登錄(三次機會重試)
#!/usr/bin/python3 # -*- coding: utf-8 -*- # Author: hkey # 作業題: # 1. 使用while循環輸入1,2,3,4,5,6 8,9,10 count = 0 while count < 10: count += 1 # 等價於 count = count + 1 if count == 7: continue # continue 結束本次循環,開始下一次循環,continue 以下的代碼都不再執行 print(count) # 2. 求 1-100 的所有數的和 num = 0 for i in range(1, 101): # range取一個範圍 1, 100的所有數字,通過for循環遍歷相加 num += i print(num) # 3. 輸出 1-100 的所有奇數 print(list(range(1, 101, 2))) # 4. 輸出 1-100 的所有偶數 print(list(range(2, 101, 2))) # 5. 1-2+3-4+5 ...99的所有數的和 sum = 0 count = 1 while count < 100: if count % 2: # count 對 2取余如果為 0 則該條件不成立,說明 count 為偶數,count 對 2取余如果不為 0 則該條件成立,說明 count 為奇數 sum += count # 奇數做加法 else: sum -= count # 偶數做減法 count += 1 print(sum) # 總結: # 在bool值中,0 None 空 為 False,其他都為 True # 6. 用戶登錄(三次機會重試) count = 0 while True: user = input(‘username:‘) pwd = input(‘password:‘) if user == ‘admin‘ and pwd == ‘123‘: print(‘登錄成功.‘) break else: print(‘用戶名密碼不正確,請重試。‘) count += 1 if count == 3: print(‘登錄驗證超過三次,登錄失敗.‘) break作業題答案
[ python ] 格式化輸出、字符集、and/or/not 邏輯判斷