or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Do you want to remove this version name and description?
Syncing
xxxxxxxxxx
(學弟們有帶電腦的要裝python,建議裝個IDE,推薦用visual studio code或visual studio2019)
Python 第二週講義
tags:
python
tcirc39th
社課
臺中一中電研社
電研社
社網:tcirc.tw
online judge:judge.tcirc.tw
IG:TCIRC_39th
None
None是一個值代表沒有值,但還是佔一個位子。
※不是空白
容器型態
容器是用來儲存多個變數用。
而部分的容器都有序號
而編號從0開始
字串也可以算是一種容器,所以可以指定位址。
清單(Lists)
可儲存不同型態的元素,也可修改裡面元素(可把它想成書櫃)
訪問元素
如果想要知道特定list中第幾個元素
idx(序號) 0 1 2 3 4
list = [1, 6, 7, 3, 8]
output
append()
若要增加元素,則使用append()功能
※會加到最後面
output
pop()
若要刪除元素,則使用pop功能
output
len()
output
clear()
clear()功能能清除list內的所有元素
output
insert()
若要插入元素至list的特定位置,則使用insert功能
使用方法為insert(序號, 要插入的東西)
output
index()
若要搜尋list內的特定元素在第幾個序號,則使用index()功能
index(要查詢的元素)
!!注意,搜尋的值必須確定存在於list裡,否則會程式會顯示錯誤
output
錯誤示範
output
sort()
若要對list內的元素進行排序,則使用sort()功能
!!注意如果要使用sort功能,list內的不可有數字和字串並存
output
字串排序
output
空list可以直接用:
字典(Dictionaries)
功能類似list,但元素無序號。取而代之的是key,key值須自己設定,且不能有重複key值(但可有重複元素)
數字、字串、元組(tuple)…皆可作為key
output
其他型態的key
output
clear()
功能和list的clear()功能一樣,清空字典裡的所有元素
output
pop()
功能和list一樣,刪除特定元素的key和對應的值
pop(要刪除的key)
ouput
空字典可以直接用:
集合(Sets)
在python裡,集合是一個無順序的容器,且不能儲存重複元素
output
add()
若要增加元素至set裡,用add()功能
output
空sets可以直接用:
元組(Tuple)
功能和list類似,但初始化後便不能再更改
空元組可以直接用:
分割
split函式(部分功能說明)
因為python沒有內建同行以空白分隔兩個值,而且很多題目都需要用到這個功能,所以說明一下python如何處理。
使用
※因分隔前是文字,所以分割後也是文字
程式
同行輸出
程式:
output:
運算子
+&-&×&÷&次方&取餘(%)&取商(//)
比較運算子
用於判斷是否達成條件,結果為布林值
=(==)
兩個值是否相等
※ = 是定義資料的值
≠(!=)
兩個值是否不相等
>、<、≥(>=)、≤(<=)
範例
output
邏輯運算子
and(且): 布林值 and 布林值
or(或):布林值 or 布林值
not(非):not 布林值
output
位元邏輯運算子
logic shift
將其二進為表示的數字左移或右移n位
&(and位元運算)
將兩個數值的二進位數值進行and運算
|(or位元運算)
將兩個數值的二進位數值進行or運算
~(not位元運算)
將其二進位數值進行not運算
^(xor位元運算)
將兩個數值的二進位數值進行xor運算
二補負法:
設有3bit的空間
000→0
011→3
到一半時(1後全為0)轉為最小的負數繼續加一
100→-4
111→-1
優點:可以直接進行加減
範例程式
output
運算式
任何可以取得值的程式碼,都可以稱為運算式。
條件運算式
在判斷值為True或False後決定要執行的程式
if
是否達成條件,若有,則執行下方程式
else
前面要先有 if 函式
未達成上方if的條件時,執行下方程式
elif(else if)
前面要先有 if 函式
未達成上方if的條件時,判斷是否達成此條件,若有,執行下方程式
三元運算子
和if else功能差不多,但程式碼較短(一行)
可以連用
switch判斷指定條件,依照不同結果執行不同程式
python沒有switch
程式
output
練習
b012: 不及格的危機
迴圈
迴圈是用來進行重複執行時的工具,它在不符合指定的條件前,除非強制跳出否則不會停止。
while
while會重複執行到條件不達成為止。
for
for迴圈也會重複執行到條件不達成為止,但它可以直接設定次數。
變數可以不用先設定,而每次for迴圈開始就會加一。
變數的值會因後方的變數而改變。
使用range函數
range函數
使用容器
程式
output
break
跳出當前迴圈
continue
會跳過後方要執行的程式從迴圈最上方的程式開始
程式
output
練習
b036: 物種豐富度
Ans