數字大於2^63取餘會爆炸
name=input("What is your name?")
print("my_name","Eric") #會以空白隔開 => my_name eric
print("a","b",sep="<->") #會以<->當作分隔 => a<->b
print("a","b",end=' ') #以空格當結尾,預設是換行 => a b
n, m = map(int, input().split(',', 2)) #輸入兩個用逗號隔開的整數
大括號宣告,相當於C++的map
dic={'a':1,'b':2,'c':4}
print(dic['c']) #=>4
#print all keys
for i in dic:
print(i,end=' ')
#print all values
for i in dic.values():
print(i,end=' ')
大括號宣告,不會有重複元素,會自動排序,跟C++一樣不可用索引值取元素
s=set() #建立空集合
s={i for i in range(5)} #s={0,1,2,3,4}
s.add(5) #加入元素
s.remove(4) #刪除元素
print(s) #{0, 1, 2, 3, 5}
if 2 in s: #判斷2是否在set理 =>True
中括號宣告
注意:在函式裡修改外面宣告的list時,本尊會被修改,也就是說函式呼叫時傳進去的便變數是list的話會是傳指標,但傳一般變數時是複製一個副本,無法更改到外面的本尊。
A=['a string',23,100.232,'o']
print(A[2]) #=>100.232
B=[[None for _ in range(10)] for _ in range(10)] #10x10 list
小括號宣告,不能被修改
t=(1,2,3) #or t=1,2,3
print(t[1]) #=>2
記得冒號,「且」是and不是&&
a=5
if a<4:
print("a<4")
elif a>=4 and a<6:
print("a>=4 且 a<6")
else:
print("a>=6")
#=> a>=4 且 a<6
用來存區間整數
參數 : (起始,終點(不包括),間隔)
r=range(5,10) #5,6,7,8,9
print(r[4]) #=>9
r2 = range(5, 50, 5) #5,10,15,20
print(r2[3]) #=>20
for i in range(2,10,3): #起始值,結束值,增加值
print(i,end=' ') #2 5 8
a=[3,1,2,3]
for i in a:
print(i,end=' ') #=>3 1 2 3
i=0
while(i<10):
print(i,end=' ')
i+=1
#=>0 1 2 3 4 5 6 7 8 9
split可將字串拆成陣列,該分隔字元會被刪除,拆解後封裝成list
join可組合陣列,中間可輸入連接詞
s="hello world"
arr=s.split('o')
print(arr) #=>['hell', ' w', 'rld']
s2='---'.join(arr)
print(s2) #=>hell--- w---rld
a=[6,3,2,1,3,2,5]
print(len(a)) #7
print(max(a)) #6
print(a.count(3)) #3出現2次輸出2
a.insert(2,100) #在index=2的位置插入100
a.remove(2) #移除第一個2
a.reverse() #反轉
print(a) #[5, 2, 3, 1, 100, 3, 6]
b=[1,2,3,4,5]
del b[1:3] #刪除index1到index3前一個的所有元素 => b=[1, 4, 5]
a.append(b) #將b塞到a的最後面 => a=[5, 2, 3, 1, 100, 3, 6, [1, 4, 5]]
print(a[-1][2]) #-1代表最後一個元素, =>5
a.clear() #清空
c=[]
for i in range(10):
c.append(i)
print(c) #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
d=[i for i in range(10)]
print(d) #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
#只取小於5的奇數
e=[i for i in d if i<=5 and i&1]
print(e) #[1, 3, 5]
__init__函式會在宣告此Class型別變數時自動執行初始化
__str__函式會在print時執行,返回一個字串當作print輸出的內容
class Student:
def __init__(self,id,seat):
self.id=id
self.seat=seat
def __str__(self):
return f'My ID is {self.id}, and my seat number is {self.seat}.'
def change_seat(self,newSeat):
self.seat=newSeat
student=Student("848392","3A2B")
student.change_seat("8A7B")
print(student) #My ID is 848392, and my seat number is 8A7B.
用於進階數學運算
import numpy as np
Zeros及ones為陣列元素的初始值,且括號裡的數字是大小,不是元素
a=np.array([1,2,3]) # 一維
b=np.array([[1,2,3],[4,5,6]]) #二維
c=np.zeros(5) #[0,0,0,0,0]
d=np.zeros((2,3)) #2×3的陣列,初始化為0
e=np.ones((3,4,5)) #3×4×5的陣列,初始化為1
numpy的加減乘除為同一個元素位置的運算
一般list則為整個list運算(只有+號)
a=np.array([1,2,3])
b=np.array([2,3,4])
print(a+b) #[3 5 7]
c=[1,2,3]
d=[2,3,4]
print(c+d) #[1, 2, 3, 2, 3, 4]
a=np.array([[1,2],
[2,3]])
b=np.array([[3,4],
[4,5]])
print(a.dot(b)) #[[11 14]
# [18 23]]
a = np.array([3, 5, 6])
b = np.array([2, 6, 1])
print(a @ b) #: 6+30+6=42
a=[1,2,3,4,5]
b=a[-1] #最後一個元素
c=a[::-1] #反向讀取 [5,4,3,2,1]
d=a[3::-1] #從index=3開始反向讀取 [4,3,2,1]
pip install [name]
pip list
如果報錯顯示是在原碼中的語法錯誤,可以用以下方法解決:
首先到PyPI這個網站搜尋要下載的函示庫,進入頁面後點擊左側的Download files,把壓縮檔下載下來,接著解壓縮。
上面報錯內容為Setup.py檔案裡的40行少了一個括號,更改完後存檔。
進入到該函式庫存放位置的跟目錄(預設為下載)並在路徑欄中輸入cmd進入終端,並用-e(從本機安裝)安裝該函式庫。
pip install -e [file name]
注意:這裡的file name是下載下來的資料夾名稱,不是該函式庫的名稱。
接著就大功告成了!!!
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.
Syncing