數**算符:+(加法運算)、-(減法運算)、(乘法運算)、/(除法運算)、
%(取模/取餘)、
//(整除)、*****(冪運算)
+、-、、/和數學中的+、
-*、✖、÷的功能一模一樣。
print(5
+2)# 7
print(5
-2)# 3
print(5
*2)# 10
print(5
/2)# 2.5
%- 取餘、取模(數學中的求餘數)
# x % y - 求 x 除以 y 的餘數。
print(10
%3)# 1
應用1:判斷乙個數是否能被另乙個數整除。
# x % y 的值為0說明 x 能被 y 整除。
num =
6print
(num %3)
# 0
應用2:取整數的低位數。
# x % 10 - 獲取x的個位數; x % 100 - 獲取x的後兩位數;...以此類推
print
(168%10
)# 8
print
(1738
%100
)# 38
//- 整除(商數取整數)
# x // y - x 除以 y 的商向下取整。
print(5
//2)# 2
print(-
5//2)
# -3
應用:去掉低位數,獲取高位數。
# x // 10 - 去掉x的最後一位數; x // 100 - 去掉x的最後兩位數;...
print
(23563
//100
)# 235
****** - 冪運算(求次方)
# x ** y - 求 x 的 y 次方
print(2
**3)# 8
print(3
**3)# 27
# 如果次方數是 1/n,表示開 n 次方,開方結果均為浮點型。(float)
print(8
**(1/
3))# 2.0
print(27
**(1/
3))# 3.0
比較運算子:>(大於)、<(小於)、>=(大於等於)、<=(小於等於)、==(等於)、!=(不等於)
比較運算子中比較的資料必須為同型別(整型和浮點型可相互比較),並且所有比較運算子的運算結果均為布林值。
注意:python中的比較運算子支援連寫的方式表示取值範圍。
print(10
>20)
# false
print(10
<20)
# true
print(10
>=10)
# true
print(10
==10
)# true
print(10
!=10
)# false
邏輯運算子:and(邏輯與)、or(邏輯或)、not(邏輯非)
賦值運算子:=、+=、-=、=、/=、
%=、//=、*=
所有的賦值運算子都是用來給變數賦值的,所以賦值運算子的左邊必須是變數,並且復合的賦值運算子左邊的變數必須是已經賦值過的變數。
普通賦值運算子:=
a =
10
復合的賦值運算子:先將變數的資料取出來,再進行相應的復合賦值符的運算,將運算結果重新賦值回變數。
a +=
3# a = a + 3
a -=
2# a = a - 2
a *=
4# a = a * 4
運算子的優先順序
位運算:&(按位與)、|(按位或)、^(按位異或)、~(按位取反)、>>(右移)、<<(左移)
位運算的運算效率比一般的運算子都要高
應用1:判斷整數的奇偶性 - 數字對1進行按位與運算,如果結果是1就是奇數,結果是0就是偶數
print(4
&1,273&1
,-832&1,
48&1)
# 0 1 0 0
應用2:數字 << n - 快速乘2的n次方
數字 >> n - 快速整除2的n次方
print(4
<<1,
5<<1,
5<<2)
# 8 10 20
print(4
>>1,
5>>1,
-5>>1)
# 2 2 -3
流程控制
順序結構 - 從上往下依次執行每一條語句。(預設)
分支結構 - 根據條件選擇性的執行**。(if語句)
迴圈結構 - 讓**重複執行。(for迴圈、while迴圈)
分支結構
if 單分支結構 - 滿足條件執行某個操作,不滿足就不執行。
語法:
if 條件語句:
**塊
說明:
if - 關鍵字,固定寫法。
條件語句 - 任何有結果的表示式:任何型別的資料、除賦值語句以外的運算表示式、函式呼叫表示式。
冒號 - 固定寫法。(python中冒號後面一般都需要換行後產生縮進來表示**塊)
**塊 - 和if保持乙個縮排(按tab)的一條或多條語句;在滿足條件的時候才會執行的**,不滿足不執行。
執行過程:先判斷條件語句是否為true(如果不是布林值就轉換成布林再判斷),如果是true就執行**塊,否則**塊不執行。
注意:if語句中的**塊至少要有一條語句,在不確定的時候可以先用pass佔位。
age =
28if num >=18:
print
('成年'
)# 成年
if 雙分支結構 - 滿足條件執行某個操作,不滿足就執行另乙個操作。
語法:
if 條件語句:
**塊1(滿足條件要執行的**)
else
: **塊2(不滿足條件要執行的**)
執行過程:先判斷條件語句是否為true,如果是true就執行**塊1,否則執行**塊2。
num =
37if
not num &1:
print
('偶數'
)else
:print
('奇數'
)# 奇數
if多分支結構 - 根據不同的條件執行不同的操作。
語法:
if 條件語句1:
**塊1
elif 條件語句2:
**塊2
elif 條件語句3:
**塊3..
.else
: **塊n
執行過程: 先判斷條件語句1是為true,如果是直接執行**塊1,然後整個if結構直接結束;
如果不為true,就判斷條件語句2是否為true,如果是就執行**塊2,然後整個if結構結束;
如果不為true,就判斷條件語句3是否為true,如果是就執行**塊3,然後整個if結構結束;
…以此類推,如果前面的條件語句都不滿足就執行else後面的**塊。
grade =
3.2if grade >4:
print
('獲得一等獎學金。'
)elif
3.5<= grade:
print
('獲得二等獎學金。'
)elif
3<= grade:
print
('獲得三等獎學金。'
)elif
2.5<= grade:
print
('獲得四等獎學金。'
)else
:print
('未獲得獎學金。'
)# 獲得三等獎學金
day2 運算子和分支結構
加 減 乘 除 整除 取餘 取模 冪運算 和數學中的 功能和用法一模一樣 注意 除法運算 的運算結果是浮點型 print 1 1 2 print 2 5 3 print 2 5 10 print 2 5 0.4 求商,商保留整數部分 向小取整 print 5 2 2.5 print 5 2 2 pr...
day2 運算子和變數作業
print 100 25 3 4 應該輸出什麼?b a.1 b.97 c.25 d.0 下列哪種說法是錯誤的 a a.除字典型別外,所有標準物件均可以 於布林測試 b.空字串的布林值是false c.空列表物件的布林值是false d.值為0的任何數字物件的布林值是false 下列表示式的值為tru...
day2 運算子和變數作業
print 100 25 3 4 應該輸出什麼?b a.1 b.97 c.25 d.0 下列哪種說法是錯誤的 a a.除字典型別外,所有標準物件均可以 於布林測試 b.空字串的布林值是false c.空列表物件的布林值是false d.值為0的任何數字物件的布林值是false 下列表示式的值為tru...