1. 程式人生 > >[ python ] 格式化輸出、字符集、and/or/not 邏輯判斷

[ python ] 格式化輸出、字符集、and/or/not 邏輯判斷

答案 密碼 範圍 src usr list 作業 格式化 條件

格式化輸出

  %: 占位符

    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 邏輯判斷