Python【習(xí)題】回文數(shù):判斷一個(gè)數(shù)是否是回文數(shù)


人生苦短,我用Python

環(huán)境:Windows 10 64-bit, python == 3.6.4 , PyCharm CE == 2018.1


什么是回文數(shù):
有這樣一類(lèi)數(shù),他們順著看和倒著看是相同的數(shù),例如:12321,1221,2332等,這樣的數(shù)字就稱(chēng)為:回文數(shù)

題目:輸入一個(gè)5位數(shù),判斷它是不是回文數(shù)。即12321是回文數(shù),個(gè)位與萬(wàn)位相同,十位與千位相同。

  • 找出5位數(shù)中所有的回文數(shù):

方法1.使用for 循環(huán)

# 找出5位數(shù)中所有的回文數(shù):
for i in range(10000,100000):   # 遍歷所有的5位數(shù)
    s = str(i)    # 將數(shù)轉(zhuǎn)換成字符串類(lèi)型,即可以用索引取出每一位上的數(shù)字
    if s[0] == s[-1] and s[1] == s[-2]:   # 字符串的索引
        print(i)

方法2. 定義函數(shù):

def is_huiwen(n):
    reversed_str= str(n)
    return reversed_str == reversed_str[-1::-1]   # 

output = filter(is_huiwen,range(10000,100000))
print(list(output))
  • 用戶(hù)自己輸入一個(gè)5位數(shù),判斷是否是回文數(shù):
# 輸入一個(gè)5位數(shù),判斷它是否是回文數(shù):
a = int(input(" 請(qǐng)輸入一個(gè)5位整數(shù):"))
s = str(a)
if s[0] == s[-1] and s[1] == s[-2]:
    print(" %d 是一個(gè)回文數(shù)!" % a)
else:
    print(" %d 不是一個(gè)回文數(shù)!" % a)
  • 判斷任意一個(gè)整數(shù)是否是回文數(shù):
n = int(input('請(qǐng)輸入一個(gè)整數(shù):'))
s = str(n)
f = True

for i in range(len(s)//2):
    if s[i] != s[-1-i]:
        f = False
        break
if f:
    print('%d 是一個(gè)回文數(shù)' % n)
else:
    print('%d 不是一個(gè)回文數(shù)' % n)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容