一铺根、運(yùn)算符
1. 基本算術(shù)運(yùn)算符
2. 值判斷
運(yùn)算符 <, >, ==, >=, <= 和 != 將比較兩個對象的值。 兩個對象不要求為相同類型乔宿。
3. 邏輯判斷和成員判斷
運(yùn)算符 not
將在其后跟的 參數(shù) 為假值時產(chǎn)生 True
位迂,否則產(chǎn)生 False
。
表達(dá)式 x and y
首先對 x 求值详瑞;如果 x 為假則返回 該值
掂林;否則對 y 求值并返回 其結(jié)果值
。
表達(dá)式 x or y
首先對 x 求值坝橡;如果 x 為 真
則返回該 值
泻帮;否則對 y 求值并返回其 結(jié)果值
。
請注意 and
和 or
都不限制其返回的值和類型必須為 False
和 True
计寇,而是返回最終求值的參數(shù)锣杂。 此行為是有必要的,例如假設(shè) s
為一個當(dāng)其為空時應(yīng)被替換為某個默認(rèn)值的字符串饲常,表達(dá)式 s or 'foo'
將產(chǎn)生希望的值蹲堂。 由于 not
必須創(chuàng)建一個新值,不論其參數(shù)為何種類型它都會返回一個布爾值(例如贝淤,not 'foo'
結(jié)果為 False
而非 ''
柒竞。)
4. 一切都是假象
在執(zhí)行布爾運(yùn)算的情況下,或是當(dāng)表達(dá)式被用于流程控制語句時播聪,以下值會被解析為假值:
False
,None
, 所有類型的數(shù)字零朽基,以及空字符串和空容器(包括字符串、元組离陶、列表稼虎、字典、集合與凍結(jié)集合)招刨。
所有其他值都會被解析為真值霎俩。
5. 鏈?zhǔn)脚袛?/h2>
image
條件表達(dá)式
條件表達(dá)式(有時稱為“三元運(yùn)算符”)在所有 Python 運(yùn)算中具有最低的優(yōu)先級。
表達(dá)式 x if C else y 首先是對條件 C 進(jìn)行求值。 如果 C 為真打却,x 將被求值并返回其值杉适;否則將對 y 求值并返回其值。
[on_true] if [expression] else [on_false]
x, y = 50, 25
small = x if x < y else y
二柳击、流程控制語句
判斷
基本的語法格式:
if 條件語句: # 注意這里必須以英文的冒號結(jié)束
條件語句為真時猿推,執(zhí)行的語句
n = input("輸入數(shù)字>>:")
n = int(n) # input 接收到的數(shù)據(jù),都是字符串類型
if n == 5:
print('相等')
n = input("輸入數(shù)字>>:")
n = int(n)
if n == 5:
print('相等')
else: # else 后邊必須有英文的冒號
print('No')
n = input("輸入數(shù)字>>:")
# 必須輸入數(shù)字來測試
n = int(n)
if n == 5:
print('ok')
elif n > 5:
print('大了')
else:
print('小了')
嵌套
n = input("輸入數(shù)字>>:")
# n.isdigit() 用于判斷 n 的值是否全部都是純數(shù)字捌肴,
# 全部是數(shù)字才能使用 int() 轉(zhuǎn)換, 比如: int("123") 可以轉(zhuǎn)成 123
if n.isdigit():
f_n = int(n)
if f_n == 5:
print('ok')
elif f_n > 5:
print('大了')
else:
print('小了')
else:
print('請輸入數(shù)字')
循環(huán)
while True:
n = input("輸入數(shù)字>>:")
n = int(n)
if n == 5:
print('相等')
break
elif n > 5:
print('大了')
else:
print('小了')
假設(shè)上面的小游戲蹬叭,只能玩 3 次,如何處理?
m = 1
while m <= 3:
m += 1
n = input("輸入數(shù)字>>:")
n = int(n)
if n == 5:
print('相等')
break
elif n > 5:
print('大了')
else:
print('小了')
迭代
- 什么是迭代
? 迭代 是重復(fù)反饋過程的活動状知,其目的通常是為了接近并到達(dá)所需的目標(biāo)或結(jié)果秽五。
? 每一次對過程的重復(fù)被稱為一次“迭代”。
- for 循環(huán)(英語:for loop)
? 是一種編程語言的迭代陳述饥悴,能夠讓程式碼反復(fù)的執(zhí)行筝蚕。
? 它跟其他的循環(huán),如while循環(huán)铺坞,最大的不同级野,是它擁有一個循環(huán)計(jì)數(shù)器聊疲。
? 這使得for循環(huán)能夠知道在迭代過程中的執(zhí)行順序,記住上次被循環(huán)元素的位置。
for i in 'hello world':
print(i)
range(n)
產(chǎn)生一個可被循環(huán)的整數(shù)序列悴灵,默認(rèn)序列的元素從 0
開始
產(chǎn)生的元素數(shù)量是 n
個
for i in range(2):
print(i)
輸出
0
1
指定開始位置的數(shù)字和結(jié)束位置的數(shù)字绿映, 輸出的值中不包含結(jié)束位置的數(shù)字擒滑。
這個 位置
指的就是 索引號的意思。
for i in range(1, 3):
print(i)
輸出
1
2
break 和 continue
for i in range(0, 10):
print(i)
if i < 3:
inp_num = int(input(">>:").strip())
# inp_num = int(inp_num)
if inp_num == 15:
print('You get it')
break
elif inp_num > 15:
print("高了")
else:
print("低了")
else:
print("Game over")
break
for i in range(2, 10, 2):
print("循環(huán)到", i)
if i == 4:
continue
print(i)
if i == 6:
break
range(開始索引號:結(jié)束索引號:步長)
不講 (擴(kuò)展知識)
for … else
?1. 當(dāng) for 循環(huán)體正常執(zhí)行完畢時叉弦,再執(zhí)行一下 else 后面的代碼
?2. 當(dāng) 執(zhí)行了 break 后丐一,就不再執(zhí)行 else 后面的代碼了
for i in range(20):
if i == 10:
print('get it')
n = i
break
else:
print("Nothing")
</article>