【Python練習題 025】 一個5位數,判斷它是不是回文數。即12321是回文數,個位與萬位相同,十位與千位相同。
-----------------------------------------------
做題做到現在,這種題目已經很輕車熟路了。希望下一題能增加點難度啊~~~
x = input('請輸入一個5位數:') if x[0] == x[4] and x[1] == x[3]: print('%s是個回文數' % x) else: print('%s不是回文數' % x)
輸出結果如下:
請輸入一個5位數:12532
12532不是回文數
請輸入一個5位數:98289
98289是個回文數
【2016-10-20 更新】----------------------------------------
上面的代碼雖然湊合也能解決問題,但一旦用戶輸入的不是5位數,那就瞎了!感謝 rm-rf 提供的新思路,用切片的方法就可以很巧妙地解決問題。代碼更新如下:
x = input('請輸入任意位數的數字:') if x == x[::-1]: print('%s是個回文數' % x) else: print('%s不是回文數' % x)
記得 codegay 就曾經在【Python練習題 022:用遞歸函數反轉字符串】提醒過我,可以用 str[::-1] 來反轉字符串。誰想剛過沒幾道題,我就忘了這神器了。真是腦子不夠使!
++++++++++++++++++++++++++++++++++++++