Python判斷回文數(shù)的三種方法實(shí)例
需求:
從控制臺(tái)輸入一個(gè)五位數(shù),如果是回文數(shù)就打印“是回文數(shù)”,否則打印“不是回文數(shù)”,例如:11111 12321 12221
“回文”是指正讀反讀都能讀通的句子,它是古今中外都有的一種修辭方式和文字游戲,如“我為人人,人人為我”等。在數(shù)學(xué)中也有這樣一類數(shù)字有這樣的特征,成為回文數(shù)(palindrome number)。
設(shè)n是一任意自然數(shù)。若將n的各位數(shù)字反向排列所得自然數(shù)n1與n相等,則稱n為一回文數(shù)。例如,若n=1234321,則稱n為一回文數(shù);但若n=1234567,則n不是回文數(shù)。
分析:
輸入為純數(shù)字,長(zhǎng)度為5
個(gè)位與萬(wàn)位上的數(shù)字相同,十位與千位上的數(shù)字相同
方法一:算術(shù)運(yùn)算
思想:通過(guò)整除,求模的算數(shù)運(yùn)算得到各位上的數(shù)字,再通過(guò)比較前后對(duì)比(個(gè)位與萬(wàn)位,十位與千位做對(duì)比),得出結(jié)論.
a = input('請(qǐng)輸入一個(gè)五位數(shù):')
# 判斷長(zhǎng)度是否是5位,是否有純數(shù)字組成
if len(a) == 5 and a.isdigit():
# 將str轉(zhuǎn)為int
a = int(a)
# (萬(wàn)位與各位) and (千位與十位)
if (a//10000 == a%10) and (a%10000//1000 == a%100 // 10):
print(f'{a}是回文數(shù)')
else:
print(f'{a}不是回文數(shù)')
else:
print('輸入有誤')
方法二:索引取值
思想:通過(guò)輸入的字符串進(jìn)行索引取值,前后進(jìn)行對(duì)比,得出結(jié)論.
a = input('請(qǐng)輸入一個(gè)五位數(shù):')
# 判斷長(zhǎng)度是否是5位,是否有純數(shù)字組成
if len(a) == 5 and a.isdigit():
# 對(duì)a[0]和a[4],a[1]和a[3],進(jìn)行對(duì)比
if (a[0] == a[4]) and (a[1] == a[3]):
print('%f是回文數(shù)' % (a))
else:
print('%f不是回文數(shù)' % (a))
else:
print('輸入有誤')
方法三:切片逆序
思想:input()函數(shù)輸入的數(shù)據(jù)的類型是str,str是有序的,所以可以對(duì)str切片操作,并取逆序的結(jié)果,將逆序的結(jié)果與原來(lái)的str做比較,得出結(jié)論.
a = input('請(qǐng)輸入一個(gè)五位數(shù):')
# 判斷長(zhǎng)度是否是5位,是否有純數(shù)字組成
if len(a) == 5 and a.isdigit():
# 逆序切片的結(jié)果與a做比較
if a[::-1] == a:
print(f'{a}是回文數(shù)')
else:
print(f'{a}不是回文數(shù)')
else:
print('輸入有誤')
總結(jié):
熟悉各基本數(shù)據(jù)結(jié)構(gòu)的特點(diǎn),可以幫助我們更好地解決問(wèn)題.
到此這篇關(guān)于Python判斷回文數(shù)的三種方法的文章就介紹到這了,更多相關(guān)Python判斷回文數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
100 個(gè) Python 小例子(練習(xí)題二)
這篇文章主要繼續(xù)上一篇文章100 個(gè) Python 小例子(練習(xí)題一)來(lái)完成100 個(gè) Python 小例子,本文包括字母識(shí)詞、反向輸出II、表轉(zhuǎn)字符串、設(shè)置輸出顏色、算素?cái)?shù)等例子,需要的朋友可以參考一下2021-10-10
在Python中操作MongoDB的詳細(xì)教程和案例分享
MongoDB是一個(gè)高性能、開(kāi)源、無(wú)模式的文檔型數(shù)據(jù)庫(kù),非常適合存儲(chǔ)JSON風(fēng)格的數(shù)據(jù),Python作為一種廣泛使用的編程語(yǔ)言,通過(guò)PyMongo庫(kù)可以方便地與MongoDB進(jìn)行交互,本文將詳細(xì)介紹如何在Python中使用PyMongo庫(kù)來(lái)操作MongoDB數(shù)據(jù)庫(kù),需要的朋友可以參考下2024-08-08
pyshp創(chuàng)建shp點(diǎn)文件的方法
今天小編就為大家分享一篇pyshp創(chuàng)建shp點(diǎn)文件的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12
python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5窗口背景與不規(guī)則窗口實(shí)例
這篇文章主要介紹了python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5窗口背景與不規(guī)則窗口實(shí)例,需要的朋友可以參考下2020-02-02
Python 3.8新特征之a(chǎn)syncio REPL
我最近都在寫(xiě)一些Python 3.8的新功能介紹的文章,在自己的項(xiàng)目中也在提前體驗(yàn)新的Python版本。這篇文章主要介紹了Python 3.8新特征之a(chǎn)syncio REPL,需要的朋友可以參考下2019-05-05
Django 導(dǎo)出 Excel 代碼的實(shí)例詳解
本篇文章主要介紹了Django 導(dǎo)出 Excel 代碼的實(shí)例詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08

