Python對於數字的處理能力是很強大的,今天我們讓Python判斷我們輸入的一個數是不是迴文數,那麼什麼是迴文數呢?12321是迴文數,個位與萬位相同,十位與千位相同。
往下看,就是這麼簡單!
案例
一個5位數,判斷它是不是迴文數。即12321是迴文數,個位與萬位相同,十位與千位相同。
先上代碼~
運行效果
題目詳述
程序分析:要實現對於迴文數的判斷,我們需要對這個數前後的數字進行對比,第一位跟最後一位數字,第二位跟倒數第二位數字
第一行:
s = input('隨便輸入一個整數:')
創建一個input函數,用來存放輸入的整體,作為原始變量s使用,注意這個時候s的格式是字符串
第二行:
l = len(s)
len() 方法返回列表元素個數,如果是字符串的話,返回的是字符串中字符的長度
第三行:
flag = True
創建一個布爾類型的變量,剛開始賦值為True,如果在判斷全部結束之後,依舊為 True則滿足條件
第四行:
for i in range(l//2):
if s[i] != s[-i-1]:
flag = False
因為range只接受整數類型,所以這裡我們遍歷的時候,取總長度的一半並且用整除的值,比如說4位數,取2,5位數的話依舊是取2,這就足夠把前後的數字都對比一下
s[i] != s[-i-1]這個需要重點講解一下,這裡需要對下標的概念很熟悉才能清楚這個,下標是從0開始到len(s)-1,這個是正序排列,逆序則是從-1到-len(s),相信通過對比,不難理解上邊為何要那麼對比,如果有一個不滿足前後數字對應,就將False賦值給flag
第五行:
if flag == True:
print("%s 是一個迴文數!" % s)
else:
print("%s 不是一個迴文數!" % s)
這個相信比較好理解,如果flag還是True,則說明s是迴文數,否則s不滿足迴文數的條件!
進階:
輕鬆的就實現想要的目的是不是很便捷呢結束語
總體來說思路只要有了,以後遇到類似的問題就可以解決了,是不是發現原來Python可以這麼神奇!
———— e n d ————
覺得文章不錯的,歡迎點在看和轉發