今天要來練習String的題目!
可能接下來有幾篇都是String的題目
會結合到很多前面教的部分!
今天的題目只有一題~
是判斷回文!
判斷回文
這題在練習程式題的時候都會遇到!
先解釋一下什麼是回文~
回文是正向和反向讀都一樣的字或數字
回文也可以是句子,也包括空格或標點符號等!
給大家看幾個回文的例子!
單詞回文:radar、level、madam、racecar
數字回文:121、1331、12321
接下來給大家看判斷回文的程式碼怎麼寫!
這個程式碼可以判斷單詞和數字是否為回文!
判斷句子的部分我沒有寫><
首先我們要讓使用者可以輸入文字或數字,存在word
再假設一個left=0,是word的第一個字,也就是索引0
right=len(word)-1就是word的最後一個索引位置
再來跑一個while迴圈,條件是left<right
我們要開始做比較!
word[left]和word[right],也就是第一個字和最後一個字,要去比對是不是一樣的
如果不一樣就可以直接輸出不是回文了~然後直接強制跳出迴圈
如果是一樣的,我們就把left+1、right-1,變成第二個字和倒數第二個字去比對,
迴圈就是在跑這部分!
如果比對出來都一樣,直到left已經沒有<right就停止
這時候就會結束迴圈,像這樣正常結束迴圈,沒有使用到break
它再來就會去執行while迴圈後面的else部分程式碼
就會輸出是回文了~
這個例子我是輸入abcba
所以輸出是回文!
給大家看一下其他我輸入的幾個例子和結果!
這個我輸入abcde
那輸出的就是不是回文
換數字的!
打123321,輸出是回文!
這是用國字輸入看看!
輸入哈囉,所以輸出不是回文!
判斷回文這題其實也還有很多種寫法,想到都可以試試看!
明天的題目是關於查找~