a022: 迴文
這篇教學會示範 ZeroJudge 基礎題庫「a022: 迴文」的解題過程。
題目需求
題目會提供不斷提供一組字串,由程式判斷這組字串是否為「迴文」,如果是迴文就印出 yes,否則印出 no ( 迴文的定義為正向,反向讀到的字串均相同,例如 abba、abcba 是迴文 )。
題目連結:a022: 迴文
解答
要判斷是否為「迴文」,需要將輸入的文字從中間拆分為前後兩個部分,接著依序比對兩個部分的每個項目,前面的部分從第一個開始,後面的部分從最後一個開始,如果都相等就表示迴文,只要遇到不相等的狀況就不是迴文。
while True:
try:
a = list(input())
length = len(a) # 取得輸入字串長度
output = 'yes' # 預設 output 為 yes
for i in range(length//2): # 使用 for 迴圈,取值到輸入字串的中間 ( 使用除法取整數 )
if a[i] != a[length-1-i]: # 如果從前方數來的項目不等於後方數來的項目
output = 'no' # 設定 output 為 no
print(output)
except:
break
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~