判斷英文字母大小寫
使用 Scratch 處理文字邏輯判斷時,無法判斷英文字母的大小寫,這篇教學將會介紹使用「造型編號」的方式,進行英文字母的大小寫的判斷。
快速導覽:
單純使用邏輯判斷,無法區分字母大小寫
通常在使用「詢問並等待」以及「詢問的答案」積木時,會搭配「重複無限次」以及「如果否則」積木進行判斷答案的正確性,但如果單純要判斷「英文字母的大小寫」,會遭遇使用邏輯判斷積木時「英文字母強制轉小寫」,導致同樣的做法就會發生錯誤。
下方的範例執行後,不論輸入的字母是大寫或小寫,判斷的結果都會是「小寫」。
使用造型編號,區分字母大小寫
由於 Scratch 本身沒有區分大小寫的積木,所以可以透過能區分字母大小寫的「角色造型名稱」來分辨大小寫,首先使用「繪畫」功能新增一個名為 check 的角色。
角色建立後,將第一個造型名稱改為小寫的 a,完全不用繪製內容,保持內容全空。
根據要判斷英文字母大小寫的數量,複製兩倍數量的角色造型,如果要判斷 26 個英文字母,就需要 52 個造型,本篇教學範例要判斷 abcde 五個字母,就需要十個造型,造型名稱「由上而下」分別是「abcdeABCDE」。
新增一個名為「answer」的變數,設定為所有角色都可以使用。
參考:變數
按照下方程式架構,編輯 check 角色程式:
- 點擊綠旗後隱藏角色 ( 避免詢問時出現對話泡泡 )。
- 使用重複無限次積木,不斷詢問並等待。
- 輸入字母後,將變數 answer 的內容更換為輸入的字母。
- 根據輸入的字母,變更角色造型 ( 因為角色都是空白造型,所以更換後不會影響顯示畫面 )。
- 根據目前造型取得造型編號,判斷造型編號的位置,就能知道大寫還是小寫 ( 編號在後半段為大寫,前半段為小寫 )。
- 判斷大寫時,發送「大寫」廣播訊息並等待,判斷小寫時,發送「小寫」廣播訊息並等待。
點擊貓咪 Cat 角色,編輯 Cat 角色程式,當收到大寫或小寫的廣播訊息後,講出對應的內容持續一秒。
完成後點擊綠旗,輸入字母就可以進行大小寫的判斷。
加入單一英文字母的判斷
雖然已經可以判斷英文字母大小寫,但如果輸入數字或超過一個字母的英文字就會判斷錯誤,因此要在 check 角色的程式積木裡增加下列積木,進行「單一英文字母」的判斷。
- 新增 letter 變數,內容為要判斷的英文字母 ( 小寫即可 )。
- 每次輸入後判斷是否包含該字母,並且判斷輸入的答案長度為 1。
- 如果不包含該字母,或輸入的字母數量超過 1 個,就發送 error 廣播訊息。
點擊 Cat 貓咪角色,加入收到 error 訊息時,說出「請輸入單一字母」的訊息提示。
完成後點擊綠旗,除了輸入英文字母會進行大小寫的判斷,還會判斷不屬於單一英文字母時的狀況。
範例解答
範例解答:判斷英文字母大小寫
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~