記錄#
今天沒有新的知識點學習,只有進行程式碼編程練習。
這個題目是判斷一個英文單詞是否是迴文,即從前往後和從後往前讀都是一樣的。根據提示,我們需要用到的函數是 string.reverse (),它是一個字串翻轉函數。
在程式碼中,我們還需要滿足三個要求:遞歸、字串切片和迴圈。
程式碼的基本邏輯如下:
- 用戶輸入一個單詞。
- 判斷這個單詞是否是迴文。
- 印出是或者否。
今天的題目很難,開始我以為可以直接使用 string.reverse () 來翻轉字串,但是後來發現字串沒有這個方法,所以只好查看正確答案。
接著,我又在 string [-1] 和 string [:-1] 這兩個地方花了好一段時間來理解。我先詢問了 GPT-3,但是沒有明白,後來 GPT-4 解釋後我才明白了。string [-1] 可以理解為字串的索引,它表示的是字串中的最後一個字符。而 string [:-1] 是字串切片的用法,表示範圍取值,即從 0 開始到倒數第二個字符。
程式碼#
def radar(vstr):
if len(vstr) <= 1:
return True
elif vstr[0] != vstr[-1]:
return False
return radar(vstr[1:-1])
while True:
vstr = input("輸入 > ")
print(radar(vstr))