iT邦幫忙

2024 iThome 鐵人賽

DAY 17
1
Python

Python入門基礎語法與應用系列 第 17

Day 17 Python入門基礎語法與應用-String應用(1)

  • 分享至 

  • xImage
  •  

今天要來練習String的題目!
可能接下來有幾篇都是String的題目
會結合到很多前面教的部分!

今天的題目只有一題~
是判斷回文!

判斷回文

這題在練習程式題的時候都會遇到!
先解釋一下什麼是回文~
回文是正向和反向讀都一樣的字或數字
回文也可以是句子,也包括空格或標點符號等!
給大家看幾個回文的例子!

單詞回文:radar、level、madam、racecar
數字回文:121、1331、12321

接下來給大家看判斷回文的程式碼怎麼寫!
https://ithelp.ithome.com.tw/upload/images/20240817/20168211VOjU6TX6lK.png
這個程式碼可以判斷單詞和數字是否為回文!
判斷句子的部分我沒有寫><

首先我們要讓使用者可以輸入文字或數字,存在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
所以輸出是回文!

給大家看一下其他我輸入的幾個例子和結果!
https://ithelp.ithome.com.tw/upload/images/20240817/20168211SruEV5QDNP.png
這個我輸入abcde
那輸出的就是不是回文
https://ithelp.ithome.com.tw/upload/images/20240817/20168211J7O5NQldHA.png
換數字的!
打123321,輸出是回文!
https://ithelp.ithome.com.tw/upload/images/20240817/20168211CvDceQxvki.png
這是用國字輸入看看!
輸入哈囉,所以輸出不是回文!

判斷回文這題其實也還有很多種寫法,想到都可以試試看!
明天的題目是關於查找~


上一篇
Day 16 Python入門基礎語法與應用-字串String(2)
下一篇
Day 18 Python入門基礎語法與應用-String應用(2)
系列文
Python入門基礎語法與應用30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言