一、運算符
In [2]: 1+1
Out[2]: 2
In [3]: 2-1
Out[3]: 1
In [4]: 3*3
Out[4]: 9
In [5]: 4/2
Out[5]: 2.0
In [6]: 4//2
Out[6]: 2
In [7]: 5%3
Out[7]: 2
In [8]: 2**3
Out[8]: 8
In [10]: n=5
In [11]: n+=2
In [12]: n
Out[12]: 7
In [13]: n+=2
In [14]: n
Out[14]: 9
二善绎、判斷值
運算符 <, >, ==, >=, <= 和 != 將比較兩個對象的值黔漂。 兩個對象不要求為相同類型。
== 等于
!= 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于
三禀酱、邏輯判斷和成員判斷
and 與
or 或
not 非
in 屬于(成員判斷)a in li
運算符
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
而非''
衫冻。)
四放吩、一切都是假象
在執(zhí)行布爾運算的情況下,或是當(dāng)表達(dá)式被用于流程控制語句時羽杰,以下值會被解析為假值:
False
,None
, 所有類型的數(shù)字零渡紫,以及空字符串和空容器(包括字符串、元組考赛、列表惕澎、字典、集合與凍結(jié)集合)颜骤。
所有其他值都會被解析為真值唧喉。
數(shù)據(jù)類型 代碼表現(xiàn)形式
布爾 False
null類型 None
整形 0
浮點型 0.0
控字符串 ''
空列表 []
空元組 ()
空字典 {}
空集合 set()
五、鏈?zhǔn)脚袛?/p>
10>n>3
條件表達(dá)式
條件表達(dá)式(有時稱為“三元運算符”)在所有 Python 運算中具有最低的優(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 //如果x<y就x為真,否則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.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('小了')
上面的小游戲牧抽,只能玩 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)計數(shù)器。
這使得for循環(huán)能夠知道在迭代過程中的執(zhí)行順序,記住上次被循環(huán)元素的位置诊赊。
In [15]: for i in 'hello world':
...: print(i)
...:
h
e
l
l
o
w
o
r
l
d
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(n)
產(chǎn)生一個可被循環(huán)的整數(shù)序列,默認(rèn)序列的元素從 0 開始
產(chǎn)生的元素數(shù)量是 n 個
range(開始索引號:結(jié)束索引號:步長)
In [16]: for i in range(2):
...: print(i)
...:
0
1
指定開始位置的數(shù)字和結(jié)束位置的數(shù)字府瞄, 輸出的值中不包含結(jié)束位置的數(shù)字碧磅。
這個 位置 指的就是 索引號的意思
In [17]: for i in range(1, 3):
...: print(i)
...:
1
2
In [20]: for i in range(0, 3):
...: print(i)
...:
0
1
2
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")