發表文章

目前顯示的是有「python程式語言」標籤的文章

讓你成為Python控制結構達人(終)實作簡單的計算機

圖片
既然是Python控制結構的最後一篇,當然要來點不一樣的,你準備好做點實作了嗎? 本 Python教學 文是 Python 項目實做:一個簡單的計算器。本實作應用了前面的Python教學文章,其中包含Python的基本函數與概念,有 while 迴圈 、 if 條件判斷式 、 elif 寫法 、 type conversion類型轉換 。 每個部分說明了 Python 程式的不同部分。 第一部分是計算機的起始畫面,讓用戶一直不斷輸入,直到用戶輸入「exit」為止,因此使用了 while 迴圈 。 while True: print("選項:") print("輸入 '+' 讓兩個數值互加") print("輸入 '-' 讓兩個數值互減") print("輸入 '*' 讓兩個數值互乘") print("輸入 '/' 讓兩個數值互除") print("輸入 'exit' 來結束程式") user_input = input(": ") if user_input == "exit": break elif user_input == "+": ... elif user_input == "-": ... elif user_input == "*": ... elif user_input == "/": ... else: print("不知道你在輸入什麼") 上述程式還沒寫完呢!只完成了起始畫面與結構。接下來我們針對每個小部分來寫 Python 程式碼: 加法的部分: elif user_input == "+": num1 = float(input("請輸入數字:")) ...

讓你成為Python控制結構達人(10)for迴圈

圖片
今天要學在Python中的第二個"迴圈",還記得While迴圈嗎?今天我們要學for迴圈! 看這一篇之前,建議先看這一篇 Python教學 :「 Python控制結構5.while 迴圈 」複習 while 迴圈。 Python 中,若我們要多次重複執行一個指令,我們可以使用迴圈(loops)。迴圈中的程式碼會用以下的方式執行指令:1、按照所指定的次數,重複執行;2、重複執行,直到特定的條件成立時結束;3、針對某一集合(例如: Python list串列之中的物件)中的所有項目,都各執行一次。 for 迴圈 vs. while 迴圈 先前我們曾經介紹過的 while 迴圈 用法與 if 條件判斷式 相似,只要給予的條件成立(即為「True(真)」),它就會執行。不同的是執行次數,if 只執行一次;while 迴圈則輪迴執行無限多次 (除非有設定讓迴圈結束的條件且條件成立)。 while 迴圈只要「沒有」另外設定「迴圈結束的條件(如:if 、break)」,迴圈就會無限的循環。這次我們要介紹的 for 迴圈則是在一行內就 自帶計數功能的迴圈,可以將重複循環控制在固定的數量內。 讓我們來看看 Python教學 ,給的以下這個 while 迴圈的範例。起始值為「count=0」、調整值為「count = count + 1」、讓迴圈結束的條件為「<= 5」,如下所示: count=0 while count <= 5: print(count) count = count + 1 上述範例結果為: 0 1 2 3 4 5 上個範例,若我們把第二行的「count <= 5」抽掉,換成一個「合乎常理」的條件(例如 count = 0),這個 loop 就會「0,1,2,3,4,5,6,7⋯⋯」永無止盡的重複「+1」的動作。同個範例,若使用 for 迴圈,則在第一行就可以搭配 range數列 ,定義「終止值」。如下例: for count in range(0,6,1): print(count) 上述例子結果為: 0 1 2 3 4 5 有沒有發現,原本使用 while loop 需要 4 行的 coding,使用 f...

讓你成為Python控制結構達人(9)Range數列生成

圖片
學完Python的List串列,今天要學個可以生成數字序列的"range函數"! Python教學 中提到的「range」函數,它可以用來生成數字序列,若無指定,數字序列由「0」開始。下例指定數字序列生成到 20 個,如下例所示: numbers = list(range(20)) print(numbers) 上述範例結果為: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] Python 的「range」函數可以用來生成由零開始的數字序列,但是我們仍然可以指定起始值如下: numbers = list(range(7, 14)) print(numbers) print(range(20) == range(0, 20)) 上述例子結果為: [7, 8, 9, 10, 11, 12, 13] True 在 Python 中我們除了可以輸入兩個參數,指定序列的起始值外,還可以指定第三個參數(必須為整數)以定義每個數字中間間隔為多少。如下: numbers = list(range(7, 14, 2)) print(numbers) 上述例子結果: [7, 9, 11, 13] 下篇的 Python教學 要教你Python控制結構的for迴圈,敬請期待! 相關文章: 讓你成為Python控制結構達人(8)List串列的函數 讓你成為Python控制結構達人(10)for迴圈 讓你成為Python控制結構達人(終)實作簡單的計算機 複製貼上快速搞定!給前端工程師的十六進位代碼常用顏色表! 學了Python 課程,想取代AI只是A piece of cake 暑假快到了!與其讓兒子盲目拚學測,我寧可讓他先選擇人生方向~ 達內課程先就業再付款- 中時電子報

讓你成為Python控制結構達人(8)List串列的函數

圖片
Python的List串列裡還有很多要學的!今天就讓我們一起來學它的函數! 在 Python 的 List 串列【基本的List串列說明,請參考之前的 Python教學 : Python控制結構6.List串列 】中,我們不僅可以隨意替換、索引 List 中的物件【請參考: Python控制結構7.List串列與其他運算子的應用 】 我們可以使用「append」來增加串列中的物件。如下例所示: GearList = ["BCD", "調節器", "蛙鞋"] GearList.append("潛水面罩") print(GearList) 上述範例結果為: ['BCD', '調節器', '蛙鞋', '潛水面罩'] 我們可以使用「len」來計算 List 串列中有多少物件: GearList = ["BCD", "調節器", "蛙鞋"] print(len(GearList)) 上述例子結果為「3」。 「len」可與「append」合用, Python 語法範例如下: GearList = ["BCD", "調節器", "蛙鞋"] GearList.append("潛水面罩") print(len(GearList)) 上述例子結果為「4」。 剛剛提到,在 Python 中我們可以使用「append」來增加串列中的物件。但是「append」都是把物件增加在串列的最後面。若希望物件增加到串列的中間,就用「insert」: GearList = ["BCD", "調節器", "蛙鞋"] index=1 GearList.insert(index,"潛水面罩") print(GearList) 結果為: ['BCD', '潛水面罩', '調節器', '蛙鞋'] ...

讓你成為Python控制結構達人(7)List串列與其他運算子

圖片
  Python的List串列和其他運算子的應用,聽起來超複雜?別怕,都在這篇交給你啦! List 串列-重新定義物件 在「 Python控制結構6.List串列 」中,我們了解了基本的 List串列索引的概念。而今天的 Python教學 要告訴你,在 Python 中,同一 List 串列內的任一物件(元素),不是固定的,物件是可以隨時替換的,如下: GearList = ["BCD", "調節器", "蛙鞋", "潛水面罩", "氣瓶", "潛水衣"] GearList[5] = "Dry Suit" print(GearList) 上述範例結果為: ['BCD', '調節器', '蛙鞋', '潛水面罩', '氣瓶', 'Dry Suit'] 是否注意到最後一個物件(索引編號:5)從 "潛水衣" 變成了 "Dry Suit"? List 串列-print時增加、複製物件 在 Python 中,也可以使用運算子「+」、「*」,來使 List 串列被輸出時,可以增加、複製物件。如下面例子所示: GearList = ["BCD", "調節器", "蛙鞋", "潛水面罩", "氣瓶", "潛水衣"] print(GearList+["潛水電腦"]) print(GearList*2) 結果如下(以一行指令、一行輸出結果的方式表示): >>> print(GearList+["潛水電腦"]) ['BCD', '調節器', '蛙鞋', '潛水面罩', '氣瓶', '潛水衣', '潛水電腦'] >>> print(Gear...

讓你成為Python控制結構達人(6)List串列

圖片
你聽說過Python還有List串列嗎?這篇要開始帶你入門! Python教學 必教的:List 串列 List 串列是 Python 中表示資料的方法(資料結構),有順序地將一系列的物件集合在一起,具有索引特性。 List 串列的語法,是用「[]」包覆一系列的物件,每個物件(元素)均使用逗號「,」區隔,如以下例子所示: GearList = ["Scuba BCD", "Scuba Diving Regulator", "Diving Fins", "Diving Mask", "Scuba Tank", "Wet Suit"] print(GearList[0]) print(GearList[1]) print(GearList[2]) print(GearList[3]) print(GearList[4]) print(GearList[5]) 上述範例結果為: Scuba BCD Scuba Diving Regulator Diving Fins Diving Mask Scuba Tank Wet Suit 注意:List 串列的語法中,第一個物件(元素)的索引號為 0,而不是 1。 另外, Python教學 也告訴我們,想創建沒有物件的 List 串列?當然也可以!請看以下所示: empty_list = [] print(empty_list) 結果如下: [] List 串列中所包含的元素種類眾多,有字串(string)、整數與浮點數、變數等,甚至在包含另一個 List 串列(也是以「[]」包覆)。一個 List 串列可以囊括不同種類的物件,如下所示: 變數 = 3 一堆雜物 = ["string", 0, [1, 2, 變數], 4.56] print(一堆雜物[1]) print(一堆雜物[2]) print(一堆雜物[2][2]) 以上範例結果如下所示: 0 [1, 2, 變數] 3 上述的 「print(一堆雜物[2][2])」意思為輸出列表中索引「2」的物件列表中的索引「2」物件,該物件為「變數」,而變數...

讓你成為Python控制結構達人(5)while迴圈

圖片
Python的while迴圈和if條件判斷式再怎麼像還是有點不同吧?當然!今天解惑! 關於Python-while 迴圈 Python 的 if 條件判斷式【請參考上篇的 Python教學 : Python控制結構2.if else條件判斷(1) 】,若評估為 True【請參考: Python控制結構1.布林值Boolean-True or False? 】 的話,就會執行一次;反之則不執行。 Python 的 while 迴圈跟 if 條件判斷式相似,但是不同的是,它不只執行一次。只要條件成立,它就會不斷地重複執行。就算是有其中一段代碼被評估為 False,下一段代碼仍會被執行。 while 迴圈構成,包含了 。 以下範例的 while 迴圈中有一個變數「i」, 初始值 為「1」; 更新值(又稱為調整值) 為「i+1」; 讓迴圈結束的條件 為「i <=5」。 這次 Python教學 給你以下範例,讓 i 的從初始值開始,程式每執行一次,i 就等於上一回合的數值再「+1」一次,直到 i 等於 5 為止停止,寫法如下: i = 1 #初始值 while i <=5: #讓迴圈結束的條件 print(i) i = i + 1 #更新值 (調整) 則結果為: 1 2 3 4 5 >>> while迴圈的「infinite loop(無限循環)」 Python 的 while 迴圈中,有一種被稱作「infinite loop(無限循環)」,當條件(為True)成立時,該程式就會永不停止地重複執行。 「infinite loop(無限循環)」的範例如下: while 7==7: print("這是無限循環迴圈") 結果,「這是無限循環迴圈」這行字就會不斷的重複顯示。 若你真的受不了,你可以 按鍵盤快速鍵「Ctrl-C」以阻止它繼續重複顯示。 以下也是無限循環迴圈的另一個例子,來看看它的結果如何吧! x=1 >>> while x>0: print(x) x+2 結果馬上會跳出一堆數字,且不斷的在跳出中。後出來的數字,都是前一...

Python控制結構入門不能錯過的第四課-運算子優先順序

圖片
Python 控制結構運算子優先順序,真的很複雜嗎?今天的分享讓一切簡單清楚!快看下去吧~ 運算子優先順序(operator precedence)在包含 Python 及其他的程式語言都是很重要的概念。它是數學運算順序(如先乘除後加減)概念的延伸,並包含其的他運算子如布林運算子等。 在Python課程提供的表格中,列出了 Python 的運算子的優先順序,優先順序由高至低如下: ** 指數 (最高優先順序),範例:2**3 = 8 ~< 補數 + - 正數 負數 * / // % 乘 除 地板除法(只取整數的除法) 餘數 + - 加法 減法 >> << 右移 左移 & 與 ^ XOR | OR in not in is is not > < >= <= != == 比較運算子 not x 布林值:不(NOT) and 布林值:和(AND) or 布林值:或(OR) Python 的運算子的優先順序,可由以下例子練習: 16 - 2 * 5 // 3 + 1 結果如下: 14 解析:上例首先計算 2 * 5 得到 10,然後是 10 // 3 得到值 3 (此為忽略餘數的地板除法,所以無小數點),然後計算 16 - 3 + 1 得到 14。 又如下例,結果會如何? x = 4 y = 2 if not 1 + 1 == y or x == 4 and 7 == 8: print("Y...

讓你成為Python控制結構達人(3)布林邏輯

圖片
Python的布林邏輯,當中的運算子你知道有那些嗎?就這三種!今天跟你一一分析和解說! 當 Python 的 if 條件判斷式 (需要複習if...else條件判斷式?請看 這篇 !)變得更複雜,有超過一種的狀況時,就使用 Boolean Logic 布林邏輯式。 Python 的 Boolean 運算子包含: and(和) 、 or(或) 、 not(不是) 。 今天的 Python教學 就來介紹它們! Python 的 and 運算子 : 包含兩個條件參數,當兩個條件都成立時,才會被評估為「True」。但記住!只要其中有一個不成立,就為「False」。【參考: Python控制結構1.布林值Boolean-True or False? 】 >>> bool( 1 == 1 and 2 == 2 ) True >>> bool( 1 == 1 and 2 != 2 ) False >>> bool( 1 < 1 and 2 >= 2 ) False >>> bool( 1 < 1 and 2 != 2 ) False 下方 Python 程式例子,就是為只有符合「年滿18歲」及「低消超過180元」才會輸出「welcome」的例子 age=21 money=500 if age >= 18 and money >= 180: print("welcome") 結果顯示如下: >>> welcome >>> Python 的 or 運算子 : 包含兩個參數,只要其中有一個條件成立,就會被評估為「True」。兩個條件都不成立才會被判定為「False」 >>> bool( 1 == 1 or 2 == 2 ) True >>> bool( 1 != 1 or 2 == 2 ) True >>> bool( 1 != 1 or 2 != 2) False 下方例子為只要符合「年滿65歲」或是「你付超過3000元」兩條件任一種,就會輸出「You'll get a Wac...

讓你成為Python控制結構達人(2-2)else的條件判斷

圖片
Python中的if和else竟然還能一起使用?今天把你的疑問通通解決!還要跟你說else的功能唷! 上一篇文章: Python控制結構2.if else條件判斷(1) ,我們已經知道 if...else 的 if 的用法,這一篇當然就來講述 else 的功能! Python 的 if...else 條件判斷式,除了單純的 if 設定一組條件之外,還可加上 else...if 或 else 增加條件。而每一個 if,都可以設定不同的條件。 例如:在上 Python教學 時,你要想要試著寫出一個 Python 程式,並判斷你所輸入的樂團名稱「Megadeth」,是否在四大鞭擊金屬樂團之列。則程式如下例所示: bandname = "Metallica" if bandname == "Megadeth": print("無庸置疑,Megadeth 無論在歌曲的編制、樂句的表現與技巧的專精,都勝過其他的鞭擊金屬樂團。") else: if bandname == "Metallica": print("Metallica 也是四大鞭擊金屬樂團之一。但是最好的是前四張專輯") else: if bandname == "Anthrax": print("Anthrax 也是四大鞭擊金屬樂團之一。但是地位不如 Megadeth 與 Metallica") else: if bandname == "Slayer": print("Slayer 確實是四大鞭擊金屬樂團之一。但是我對他們不熟") else: print("你輸入的樂團名稱不在四大鞭擊金屬樂團之中") 結果顯示如下: >>> Metallica 也是四大鞭擊金屬樂團之一。但是最好的是前四張專輯 >>> 以上 Pyth...