標籤:and 編碼 答案 hide lis while迴圈 range pen 轉義
格式化輸出
%: 預留位置
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# False2,1 < 2 and 3 < 4 or 1>2 # True or 1>2 # True3,2 > 1 and 3 < 4 or 4 > 5 and 2 < 1# True or False# True4,1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8# False or False or 9 < 8# False5,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# False6,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) # 1print(3 or 2) # 3print(0 or 2) # 2print(0 or 100) # 100當 or 前面的數字不為0的時候,則返回前面的數字;當 or 前面的數字為0,則返回後面的數字。
x and y x為True,則返回y,與 or 正好相反
print(1 and 2) # 2print(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,10count = 0while count < 10: count += 1 # 等價於 count = count + 1 if count == 7: continue # continue 結束本次迴圈,開始下一次迴圈,continue 以下的代碼都不再執行 print(count)# 2. 求 1-100 的所有數的和num = 0for i in range(1, 101): # range取一個範圍 1, 100的所有數字,通過for迴圈遍曆相加 num += iprint(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 = 0count = 1while count < 100: if count % 2: # count 對 2取餘如果為 0 則該條件不成立,說明 count 為偶數,count 對 2取餘如果不為 0 則該條件成立,說明 count 為奇數 sum += count # 奇數做加法 else: sum -= count # 偶數做減法 count += 1print(sum)# 總結:# 在bool值中,0 None 空 為 False,其他都為 True# 6. 使用者登入(三次機會重試)count = 0while 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 邏輯判斷