發表文章

目前顯示的是有「elif」標籤的文章

透過Vue實現限制數入字數

我們都知道,平常在社群網站上會限制使用者輸入的字數。最具代表性的網站就是Twitter,Twitter限制一般使用者每次發表文章的字數在140字以內。讓使用者用最簡短的文字來表達想法。對於優化使用者體驗比較好的方式是,當使用者在輸入的同時,提示使用者還有多少字可以輸入,當使用這輸入的字數達到限制時,及時地停止使用者繼續輸入。 像這樣子限制使用者輸入字數的機制要如何來實現呢? 有兩的點需要注意: 如何計算使用者輸入了多少字? 當使用這輸入的字數達到限制時,該如何停止繼續輸入? 今天我們就要透過Vue.js來製作一個可以幫我們控制輸入字數的程式。首先,我們先準備好需要的HTML檔案。 <!DOCTYPE html> <html lang=“zh-TW”> <head> <meta charset=“UTF-8” /> <meta name=“viewport” content=“width=device-width, initial-scale=1.0” /> <meta http-equiv=“X-UA-Compatible” content=“ie=edge” /> <link rel=“stylesheet” href=“https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css” integrity=“sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO” crossorigin=“anonymous” /> <title>Start</title> </head> <body> <div id=“app” class=“container”> <div class=“row”> <div class=“col”> <textarea cols=“30” ...

用Python的條件實現電影分級流程

圖片
電影分級流程 電影的分級制度大家應該都不算陌生吧。就目前 台灣的現行分級制度 來說可以分為五級。分為 普遍級:一般觀眾皆可觀賞 保護級:未滿6歲之兒童不宜觀賞,6歲以上未滿12歲之兒童需父母、師長或成年親友陪伴觀賞。 輔12級:未滿12歲之兒童不宜觀賞。 輔15級:未滿15歲之人不宜觀賞。 限制級:未滿18歲之人不宜觀賞。 五種。 我們現在透過 Python的控制流程 來逐步思考這個問題吧。 首先,先處理限制級的問題。限制級的條件是未滿18歲之人不得觀賞限制級電影。 如果把它轉換成邏輯陳述,就可以變成『假如年齡小於18歲,不得觀賞『限制級』電影 。但可以觀賞其他級數電影--『普遍級』、『保護級』、『輔12級』與『輔15級』電影』 程式可以寫成如下的式子: 假設我們輸入15歲(age = 15)的話,執行結果如下: 假設我們輸入30歲(age = 30)的話,執行結果如下: 什麼訊息都沒有。 接下來我們來優化一下程式碼,在條件不符合的時候給他一些提示訊息。運用ELSE就可以表達「條件不符合時的狀況」。 程式可以改寫成如下的式子: 我們再次輸入30歲(age = 30),執行結果如下: 出現「可以觀賞任何電影」的訊息了。 接下來,我們輸入15歲輔導級的條件。 接者繼續輸入12歲輔導級與保護級的條件。 輸入完畢後我們測試一下,先輸入5歲(age = 5),執行結果如下: 怎麼與我們期待的結果不同?我們希望它落入age < 6 區段的陳述子句,卻落到 age < 18區段了。 主要的原因前面有說過,ELIF陳述句的順序非常重要,由於該陳述句中,一旦找到符合條件的子句,其他剩下的子句都會跳過。目前的狀況就是它找到 age < 18符合條件之後,就跳過後面所有的陳述子句了。因此,我們必須調整上面程式的順序: 調整後再輸入5歲(age = 5)執行一次,結果: 這樣子就正確了。如此,整個分級制度的邏輯就完成了。

你幾歲?

圖片
我們繼續學習Pyhton關於if-statements的各種問題。 我可以投票嗎? 又到了選舉的季節了,不知道自己是不是具有投票權?呵,我想應該不會不知道吧。 不過,我們假設自己不知道是不是可以投票,寫一個程式告訴我是否可以投票。 程式運作流程 詢問使用者的年紀,如果年紀大於20歲,就提醒他今年記得去投票,如果小於20歲,就告訴他還差幾歲能夠去投票。 初步撰寫 我們先簡化上面的規則:如果年紀大於20歲,就提醒他今年記得去投票,否則就告訴他不能夠投票。 首先,先設定一個變數age,讓使用者透過input()輸入數字。加上.strip()的目的是要移除不必要的輸入空格。整個式子外面包覆int()的目的是要將輸入的資料類型一率轉換成數字,如此才能夠與20比較。 接下來,透過if-statements來判斷是否可以投票。如果對於if-statements不熟悉的話,可以參考這一篇的說明。 我們再加入距離投票年限 我們定義了一個參數different,這個參數儲存了目前年齡距離投票的時間差距。(different = 20 - age) 到這裡為止,我們已經完成了上面預計的程式運作流程了。不過,這個程式看起來實在沒什麼用處,既然已經知道自己的年齡,用數學自己加加減減就可以得到答案,還需要透過程式詢問是否具有投票權嗎? 把日期轉換為歲數 接下來,我們再來修改一下上面的程式,從原本『詢問使用者的年紀』修改成『詢問使用者的出生年月日』。 程式運作流程變成了,『詢問使用者的出生年月日,如果年紀大於20歲,就提醒他今年記得去投票,如果小於20歲,就告訴他還差幾歲能夠去投票。』

Python基礎篇--[條件]如果發生這種狀況時,我該怎麼辦?

圖片
日常生活中隨處可見的選擇邏輯 一個夏日的中午,行經便利商店,看到冰櫃裡一瓶瓶冰涼的飲料,感覺喝下去會很解渴,於是你走了進去,打開冰櫃拿出一罐售價25圓的可樂。正要掏出皮包裡的悠遊卡購買時,發現悠遊卡內儲值的額度只剩5元。於是你檢查皮包中看看有沒有現金。結果發現有一張ㄧ百元,於是你拿出那張一百元給店員。像這樣子的情形你應該不陌生吧?這是日常生活常見的場景,可以說在我們人生中就是會不斷的面臨各種大大小小的選擇。 我們常常會說,如果碰到狀況A,就做AA這件事;如果碰到狀況B,就做BB這件事;如果既不是A也不是B的話,就去做CC這件事。如果我們用這樣子的邏輯來敘述上面的場景的話,就會變成: 如果悠遊卡的儲值大於可樂的售價(25元),就用悠遊卡付款。 如果悠遊卡的儲值小於可樂的售價(25元),尋找皮包是否有現金。 如果皮包有現金,而且現金大於可樂的售價(25元),就用現金付款。 如果皮包沒有現金或現金小於可樂的售價(25元),就不買可樂 if/else流程控制 我們知道Python 執行是從最頂端第一行開始,然後循序向下逐條執行。 但是,並不是所有程式都是由上而下循序的執行,如果程式中有流程控制的陳述句子時,可能會依據條件跳過某些程式碼,也可能跳過整個區塊的子句不執行。 簡單說,流程控制就是「程式按照當時狀況、分別執行不同處理動作的功能」。在表示方式上面,我們會使用 if、else 、elif等方式表示他們之間的關係。 IF陳述句 IF 用中文解釋就是指「如果」的意思。在流程圖中使用菱形來表示,表示程式要做出的實際決定。 如果條件為True時會執行子句,條件為False時子句會跳過不執行。 例如:「如果悠遊卡的儲值大於可樂的售價(25元),就用悠遊卡付款。」如果用Python表示就會像這樣: 程式碼 if 悠遊卡的儲值 >=25: 使用悠遊卡付款 所有流程控制陳述句都是以冒號結尾,並在後面跟著一個新的程式區塊,也就是陳述子句。以上述的例子來說,陳述句是:『悠遊卡的儲值 >=25』,陳述子句是『使用悠遊卡付款』 程式碼 if 陳述條件成立: 執行這行陳述子句程式 需要特別注意的是,上面的語法中,tab的地方可以採...