進度 - list - input - 迴圈 # 阿貓抓蛇 output lint: - [今次社課の題目](https://hackmd.io/sfx4AcX4SW6WBt7mfUBMkw) - [社長較豐富ㄉ高一筆記](https://hackmd.io/@KvN1027/rJRGPuDdO) - [spyder安裝教學](https://codingonmac.blogspot.com/2017/08/windows-10-64bitsspyder-anaconda.html) # **#在看這篇筆記前你需要知道的** - 有問題要記得問 把這篇筆記當成工具書會比較好,想要摸熟一點please google :python教學、入門 然後#在python裡頭的意思是註解,因此#後面的東西不會被當成是程式碼的一部分 #### ex1:註解使用 ``` #print("阿貓好矮") ``` 輸出: :::success ::: 對 什麼東西都沒有,原本應該要輸出阿貓好矮的那行程式碼沒有輸出任何東西,至於print()是什麼,後面會提到 --- # **#IDE** ### 何為IDE(整合開發環境) IDE就是你開發Python這款程式語言的環境 陳軒正愛用的(?:IDLE /安裝python就會有了 好用:**Spyder** [/安裝教學](https://codingonmac.blogspot.com/2017/08/windows-10-64bitsspyder-anaconda.html) 業界:Visual Studio Code [/安裝教學](https://walker-a.com/archives/6231) (不是Visual Studio) --- # **#print()讓程式可以講話** ### ex0:(整數) >整數的第一位數不能為0,除非是只有0 ```python print(1231) ``` ### ex1:(字串) >字串外面要加引號"" ```python print("好耶,成功輸出一段文字ㄌ") ``` ### ex2:(錯誤示範) ```python print(我叫你輸出) ``` 輸出: :::danger print(我叫你輸出!) ^ SyntaxError: invalid character '!' (U+FF01) ::: ### ex3:(不換行) ```python print(1,end="") print(2,end="") ``` ### ex4:(各種玩法) ```python= print(1,2,3,4) #1 2 3 4 print(1,2,3,4,sep=".") #1.2.3.4 ``` --- # **#變數** ### 何為變數 可以把變數想像成是一張紙,可以在紙上寫下任何的文字,而每張紙都可以分成<font color="#f00">「整數」</font>、<font color="#f00">「浮點數」</font>、<font color="#f00">「字串」</font>以及<font color="#f00">「布林值」</font>。 >變數實際上是指電腦記憶體中ㄉ一段空間 - <font color="#dc143c">int(整數)</font>就是 只有數字並且沒有小數點的數 - ex:123、8787、0 - <font color="#ffa500">float(浮點數)</font>的意思是,帶有小數點的數這種都被稱為浮點數(float) - ex:3.14、1.00、10.27、0.0 - <font color="#008000">str(字串)</font>則是指 像是Abcdefg#%&*^的這種非數字的字母ex:`i'm handsome@@` - 字串需要被""包起來 - ex:"我好愛電研"、"卯咪最可愛惹<3333"、"01235.00" - <font color="#0000ff">bool(布林值)</font>指的是True跟False - ex: `x=True` ![](https://i.imgur.com/MiMyLuh.png) ### 如何宣告變數 什麼4宣告qq? 就是告訴電腦,我要一張白紙來寫東東的拉! 宣告一個整數變數如下,變數的型態會根據裏頭的值自行改變 ```python a = 0 ``` !變數名稱可以是任何英文字除了**保留字** :::spoiler 查看變數命名規則 - 請銘記 變數有分成**整數、浮點數、字串、布林值**~ - 變數名稱的第一個字母必須是**英文、底線「_」**,不可以是數字或其他符號。 - 第一個字母之後的其他字元必須是**英文、底線「_」或是數字**,不可以使用其他符號 ::: #### ex0:宣告變數 ```python= apple = 88 #整數int _beat = 128.5 #浮點數float cat_520 = "meow" #字串str dog01 = True #布林值 ``` 若是想知道這個變數是什麼類型,可以使用type()這個語法 #### ex1:type() ```python a = 123 print(type(a)) ``` ### 賦值 有了一個變數之後,最重要的就是可以改變變數裏頭的值,也就是在紙上寫下想要的字 假設今天要將變數a加100,則寫起來會像這樣 ```python= a=0 #將a設為0 a=a+100 #將a+100 ``` 最後a的值就變為100了! 等號的左邊為目標 等號的右邊是要做運算的值 ### 常用的運算子 | a+b | a-b | a*b | a/b | a%b | a**b | | - | - | - | - | - | - | |a加b |a減b |a乘b |a除b |a除b的餘數 | a的b次方 | ### 優先權 ![](https://i.imgur.com/dDAmRxW.png) #### 簡寫 若是想要將a+100 除了a=a+100之外還有一種更快的寫法 ```python= a+=100 ``` a乘100 ```python= a*=100 ``` --- # **#input()讓程式可以讀取輸入的東西** ex0: ```python= a = input() ``` 然後在旁邊的視窗就可以打東東ㄌ,輸入的東西會存到a裡面 - input的值預設是string(字串)型態 - *casting ### casting型別轉換 - int() - 轉成整數 - 砍小數點後面的數 - 把純整數的字串轉成整數 - float() - 轉成浮點數 - 整數後面補.00 - 把純數的字串轉成浮點數 - str() - 轉成字串 - 什麼都可以轉ㄏㄏ ex1: ```python= a = "1231331" a = int(a) print(type(a)) ``` ex2: ```python= a = "1231.331" a = float(a) print(type(a)) ``` # **#串列list** ### 何為list - 就是一疊白紙,每個白紙的內容都是獨立的 - index引索值,就是頁碼的概念,從0開始的整數 - 第1位的index是0 - 如果是負的就是倒屬第X位 ![](https://i.imgur.com/qTbjIK6.png) ### 如何宣告list ```python= list1 = [2,1320,151.123,"meow"] ``` ### 輸出值 > 記得第一個值的index是0 ```python= print(list1) #輸出整個帶括號的串列 print(list1[0]) #輸出第1位 print(list1[-1]) #輸出倒數第1位 print(list1[-4]) #輸出倒數第4位(=輸出第1位) ``` ### 神奇的操作 - **.append(x)** - 在list後面新增x值 - **.len()** - 取得list裡面有多少項目 - **.index(x)** - 找到list裡面x值的index是多少 - 有重複的話就抓index最小的 - **.count(x)** - 計算list裡面共出現多少次x --- # **#if判斷式** ## 何為條件式 什麼是條件式? 條件式就像是一個問題,問題的答案<font color="#f00">只有True跟False</font>,而有了問題的答案,再配合判斷式以及迴圈,就能輸出你想要答案了~ **<font color="#ff1493">如果</font>購買金額>100,<font color="#ff1493">就</font>打九折。** 程式寫起來像這樣 ```python= if buy_price > 100 : buy_price = buy_price*0.9 ``` "buy_price > 100"這段就是我們的條件式 "if" 則是我們的判斷式 ### if如果(? 簡單介紹一下,if判斷式裏頭會出現三個東西:if、elif、else 用中文介紹一下 **if** : 如果...就 **elif** : 不然...就 **else** : 如果上面的都沒有成立 就 每次出現if,就是一個獨立的判斷式。 把if這個判斷式想像成是一個選擇題,答案只能有一種,由上往下只要有一個觸發了,則後面的就都不會觸發 #### 語法: ```python= if 條件式 : 就blabla 就blabla elif 次要條件式 : 就blabla 就blabla else : 就blabla 就blabla ``` - 如果條件式成立的話 "就blabla"的那邊就會觸發 - elif可以無限疊加,if跟else只能出現一次 - else跟elif可有可無 ##### ex: ```python= if a>100 : print("a大於100") elif a > 75 : print("a大於75") elif a > 50 : print("a大於50") else : print("a小於50") ``` ### 比較運算子 | > | < | >= | <= | == |!= | | -------- | ------- | ------- | -------- | -------- |-------- | |大於 | 小於 | 大於等於 | 小於等於 | 等於 | 不等於 | ### 邏輯運算子 當今天想要同時比較兩個條件式該怎麼辦,這時候就會需要用到邏輯運算子! 常用的邏輯運算子有以下幾類: | and | or | not | | -------- | -------- | -------- | | 且 | 或者 | 非 | 有點模糊? ![](https://i.imgur.com/BU1EiRy.png) x跟y指的是兩邊的獨立的條件式 --- # **#for迴圈** for迴圈是 **有指定次數的迴圈**,也可以理解為"執行幾次" ### 語法: ```python= for 變數 in 指定範圍 要幹嘛blabla 要幹嘛blabla 要幹嘛blabla ``` - 指定範圍那邊通常為range - range裡面有多少個值 就執行幾次,也可以用list代替 - ex:list=[1,1,1,1],則會重複執行"要幹嘛blabla"4次 - for迴圈會依序將每個項目指派給變數(第一行for旁邊的那個) - 變數名稱通常會設為i、j、k ### range range這個東西呢 就是創建一個數列串列 #### 語法: ```python= range(起始,結尾,間隔) ``` - 間格可有可無 - 結尾實際上要再-1 #### ex1: ```python= range(0,5) ``` 則這個"range"裡面實際上長得像這樣 :::success 0 1 2 3 4 ::: > 注意上面所說的 結尾實際上要再-1 ##### ex2: ```python= range(0,10,2) ``` 裏頭實際上長這樣 :::success 0 2 4 6 8 ::: > 這邊的range多了一個間格2 故裡面的值互相間隔為2 # **#while迴圈** 上面的for迴圈是指有指定次數的迴圈,而while迴圈則只要條件符合就會一直執行的迴圈。 而while迴圈會再迴圈內的最後一行程式執行完才會再次偵測條件是否符合,並決定是否繼續重複迴圈。 #### 語法: ```python= while 讓迴圈一直執行的條件 : 要執行的blabla 要執行的blabla 要執行的blabla ``` #### ex1: ```python= a = 0 while a<5 : print("I'm still runing~~~~") a=a+1 ``` 輸出: :::success I'm still runing~~~~ I'm still runing~~~~ I'm still runing~~~~ I'm still runing~~~~ I'm still runing~~~~ ::: #### ex2: ```python= a = 0 while a<5 : a=10000 print("runing") ``` 輸出: :::success runing ::: > while迴圈會在迴圈內的最後一行程式執行完才偵測是否繼續重複迴圈 # **#巢狀的概念** 基本上就是 ```python= for i in range(1,10): for j in range(1,10): print(i,"*",j,"=",i*j) ```
{"metaMigratedAt":"2023-06-16T11:58:51.056Z","metaMigratedFrom":"YAML","title":"阿貓抓蛇","breaks":true,"contributors":"[{\"id\":\"b6743cd0-913b-4eb4-a230-a2f4d5d4980b\",\"add\":7383,\"del\":1254}]"}
    346 views
   Owned this note