python1
0. 輸出函數print()
0-2. 輸入函數input()
1. 變數與資料型態
2. 運算子
3. 輸入與輸出
4. 判斷結構if
5. 重複結構
兩個整數相加
map(int,input().split()), 將串列list內的元素轉換成整數型態;最後使用list函數,將map型態轉換成list型態。
變數:儲放資料的容器,就像馬克杯一樣。
命名規則:第一個字不能為數字,特殊符號僅接受底線_,大小寫視為不同,也接受中文字。
11 | 22 |
---|---|
11.ww.rr rr ee ee ee de |
op |
型別 | 名稱 |
---|---|
int | 整數 |
float | 浮點數 |
str | 字串 |
bool | 布林值 |
算數運算子 | 意義 | 關係運算子 | 意義 | 邏輯運算子 | 意義 |
---|---|---|---|---|---|
+ | 加法 | > | 大於 | and | 且(True and True為True,其他為False) |
- | 減法 | >= | 大於或等於 | or | 或(False or False為False,其他為True) |
* | 乘法 | == | 相等 | not | 相反(非)not False為True |
/ | 除法 | != | 不相等 | ||
// | 整數除法 | // | 小於 | ||
% | 取餘數 | <= | 小於或等於 | ||
** | 指數 |
※注意「=」與「==」意義不同
- 「=」:指派符號(assign),將右側的結果,指定給左側的變數。
- 「==」:判斷左右兩側是否相等。
參考
https://www.runoob.com/python/python-strings.html
c='Apple'
名稱 | A | p | p | l | e |
---|---|---|---|---|---|
索引 | 0 | 1 | 2 | 3 | 4 |
索引 | -5 | -4 | -3 | -2 | -1 |
單一字元
c[0] # 'A'
c[3] # 'l'
c[-1]# 'e'
c[-2] # 'l'
子字串
c[0:2] # 'App'
c[ :2] # 'App'
c[1:3] # 'pp'
c[3:5] # 'le'
c[3: ] # 'le'
c[ : ] # 'Apple'
c[::2] # 'Ape'
c[::-1]# 'elppA'
語法: s.find(substring [,beg [,end]])
s='Apple'
s.find('A') # 0
s.find('p') # 1
s.rfind('p') # 2
s='This is a book.'
s.find('is') # 2
s.find('is',3) # 5
語法:s.replace(old,new [,count]) #count取代幾個
s='This is a book.'
new=s.replace('is','IS') # 'ThIS IS a book.'
s='This is a book.'
print(s.count('is')) # 2
運算元 | 描述 | 實例 |
---|---|---|
+ | 字串連接 | 单元格 |
* | 重複字串 | "hi"*3 => "hihihi" |
[] | 索引 | a="hello" a[1] => "e" |
[:] | 子字串 | a="hello" a[2:4]=> "ll" |
in | 判斷是否存在於字串內 |
"h" in "hello" => True |
not in | 判斷是否不存在於字串內 |
"h" not in "hello" => False |
方法 | 描述 | 實例 |
---|---|---|
string.capitalize() | 將字串第1個字改為大寫 | "hello".capitalize() => "Hello" |
string.upper() | 將字串全部改為大寫 | "hello".upper() => "HELLO" |
string.lower() | 將字串全部改為小寫 | "HELLO".lower() => "hello" |
string.count(str,[beg[,end]]) | 返回str在string出現的次數,如果left與right指定,即範圍 | "hello".count("l") => 2 |
string.find(str,[beg[,end]]) | 尋找str是否在字串中 | "hello".find("l") => 2 |
string.rfind(str,[beg[,end]]) | 尋找str是否在字串中(從後往前找) | "hello".rfind("l") => 3 |
string.replace(str1,str2,[count]) | 將字串中的str1取代成str2, 如果指定count,則取代不超過count次 | "hello".replace("l","L") => "heLLo" |
string.split() | 將字串分割切片成為串列 | "2,3,4".split(',') => ["2","3","4"] |
string.join(List) | 以string為分隔符號,將串列中(字串元素)合併為一個新的字串 | "".join(["6","7","8"]) => "67*8" |
max(string) | 找出最大的Ascii碼字元 | max("hello") => "o" |
min(string) | 找出最小的Ascii碼字元 | min("hello") => "e" |
len(string) | 計算string的字元數長度 | len("hello") => 5 |
a=['red','green','blue','yellow','pink','white','black']
元素 | red | green | blue | yellow | pink | white | black |
---|---|---|---|---|---|---|---|
索引 | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
索引 | -7 | -6 | -5 | -4 | -3 | -2 | -1 |
print(a[0],a[1],a[2]) #red green blue
print(a[-1],a[-2],a[-3]) #black white pink
[:]
print(a[2:4]) #['blue','yellow']
運算元 | 描述 | 實例 | 結果 |
---|---|---|---|
+ | 組合 | [1,2,3]+[4,5,6] | [1,2,3,4,5,6] |
* | 重複 | ['hi']*3 | ['hi','hi','hi'] |
[] | 索引 | a=[1,2,3] | print(a[0]) # 1 |
[:] | 子串列 | a=[1,2,3] | print(a[1:]) #[2,3] |
in | 存在 | 3 in [1,2,3] | True |
not in | 不存在 | 3 not in [1,2,3] | False |
方法 | 描述 | 實例 |
---|---|---|
list.append(obj) | 在串列末端加入元素 | a=[1,2];a.append(3) #[1,2,3] |
list.count(obj) | 統計某個元素在串列中出現的次數 | [1,2,3,3].count(2) #2 |
list.extend(seq) | 於串列的末端加入另一個串列seq | [1,2,3].extend([4,5]) #[1,2,3,4,5] |
list.index(obj) | 找出第1個符合的索引值 | [5,6,7,8].index(7) #2 |
list.insert(index,obj) | 插入元素於指定的索引 | [5,6,7,8].insert(1,100) #[5,100,6,7,8] |
list.pop(index=-1) | 省略則移除串列最末一元素,也可指定索引值 | [1,2,3,4].pop()#[1,2,3] [1,2,3,4].pop(2)#[1,2,4] |
list.remove(obj) | 移除串列中第一個指定的元素 | [5,4,5,6].remove(5) #[4,5,6] |
list.reverse() | 反向串列中的元素 | [4,6,5].reverse() #[5,6,4] |
list.sort(key=None ,reverse=False) |
排序 | [4,6,5].sort(reverse=False) #[6,5,4] |
list.clear() | 清空串列 | [] |
list.copy() | 複製串列 | a=[1,2];b=a.copy() |
a={1,2,3,4}
b={3,4,5,6}
方法 | 描述 | 實例 |
---|---|---|
| | 聯集 | a | b =>{1,2,3,4,5,6} |
& | 交集 | a & b =>{3,4} |
- | 差集 | a - b =>{1,2} |
^ | 互斥 | a ^ b =>{1,2,5,6} |
方法 | 描述 | 實例 |
---|---|---|
s.add(obj) | 增加元素 | |
s.remove(obj) | 刪除元素,若無此元素則產生錯誤訊息 | |
s.discard(obj) | 刪除元素,若無此元素不會產生錯誤訊息 | |
len(s) | 計算個數 | |
s.clear() | 清空 | |
s.copy() | 複製 | |
s.union(set1,set2…) | 計算多個集合的聯集 | a={1,2,3} b={2,4,5} c={6,7,2} ans=a.union(b,c) print(ans) {1, 2, 3, 4, 5, 6, 7} |
s.intersection(set1,set2,…) | 計算多個集合的交集 | a={1,2,3} b={2,4,5} c={6,7,2} ans=a.intersection(b,c) print(ans) {2} |
s.difference(set1,set2,…) | 計算多個集合的差集 | a={1,2,3} b={2,4,5} c={6,7,2} ans=a.difference(b,c) print(ans) {1,3} |
s.update() | 添加元素 | a={1,2} print(a)#{1,2} a.update([3,4]) print(a)#{1,2,3,4} a.update([5,6],[7,8]) print(a)##{1,2,3,4,5,6,7,8} a.update((9,10)) print(a){1,2,…,9,10} a.update({'a':'apple','b':'ball'}) print(a){1,2,…,9,10,'a','b'} |
x.issubset(y) | x的所有元素是否包含於y的集合 | |
x.issuperset(y) | y的所有元素是否包含於x的集合 |
※舉例
語法:for 變數 in range([start,]end[,step]])
※range(5) =>形成[0,1,2,3,4]之數字串列(初值省略,預設為0;不包括5, 只取至末值5的前1個為4)。依序指派給變數i,執行下方的程式區塊,共執行5次。
※range(2,5) =>形成[2,3,4]之數字串列(只取至末值5的前1個為4), 共執行3次。
※range(1,9,2) =>形成[1,3,5,7]之數字串列(範圍只取至末值9的前1個為8,增減值為2), 共執行4次。
※range(10,0,-2) =>形成[10,8,6,4,2]之數字串列(範圍只取至末值0的前1個為1,增減值為-2), 共執行5次。
語法:while 條件: #條件為True,才執行下方的程式區塊
完整版
快速鍵
Ctrl+C 複製
Ctrl+V 貼上
Ctrl+X 剪下
Home 回到最左
End 回到最右
Ctrl +A 全選
Shift+end
Shift+home
Ctrl+Home 回到左上角
Ctrl+End 回到最後頁
說明
\033:跳脫字元
[:開始字元
31:顏色碼(紅)
1m:1 粗體;m 結尾字元
0m:0 Reset;m 結尾字元