Python判斷回文數(shù)的三種方法實(shí)例
需求:
從控制臺輸入一個五位數(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ù)字,長度為5
個位與萬位上的數(shù)字相同,十位與千位上的數(shù)字相同
方法一:算術(shù)運(yùn)算
思想:通過整除,求模的算數(shù)運(yùn)算得到各位上的數(shù)字,再通過比較前后對比(個位與萬位,十位與千位做對比),得出結(jié)論.
a = input('請輸入一個五位數(shù):')
# 判斷長度是否是5位,是否有純數(shù)字組成
if len(a) == 5 and a.isdigit():
# 將str轉(zhuǎn)為int
a = int(a)
# (萬位與各位) and (千位與十位)
if (a//10000 == a%10) and (a%10000//1000 == a%100 // 10):
print(f'{a}是回文數(shù)')
else:
print(f'{a}不是回文數(shù)')
else:
print('輸入有誤')
方法二:索引取值
思想:通過輸入的字符串進(jìn)行索引取值,前后進(jìn)行對比,得出結(jié)論.
a = input('請輸入一個五位數(shù):')
# 判斷長度是否是5位,是否有純數(shù)字組成
if len(a) == 5 and a.isdigit():
# 對a[0]和a[4],a[1]和a[3],進(jìn)行對比
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是有序的,所以可以對str切片操作,并取逆序的結(jié)果,將逆序的結(jié)果與原來的str做比較,得出結(jié)論.
a = input('請輸入一個五位數(shù):')
# 判斷長度是否是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),可以幫助我們更好地解決問題.
到此這篇關(guān)于Python判斷回文數(shù)的三種方法的文章就介紹到這了,更多相關(guān)Python判斷回文數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在Python中操作MongoDB的詳細(xì)教程和案例分享
MongoDB是一個高性能、開源、無模式的文檔型數(shù)據(jù)庫,非常適合存儲JSON風(fēng)格的數(shù)據(jù),Python作為一種廣泛使用的編程語言,通過PyMongo庫可以方便地與MongoDB進(jìn)行交互,本文將詳細(xì)介紹如何在Python中使用PyMongo庫來操作MongoDB數(shù)據(jù)庫,需要的朋友可以參考下2024-08-08
pyshp創(chuàng)建shp點(diǎn)文件的方法
今天小編就為大家分享一篇pyshp創(chuàng)建shp點(diǎn)文件的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12
python GUI庫圖形界面開發(fā)之PyQt5窗口背景與不規(guī)則窗口實(shí)例
這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5窗口背景與不規(guī)則窗口實(shí)例,需要的朋友可以參考下2020-02-02
Python 3.8新特征之a(chǎn)syncio REPL
我最近都在寫一些Python 3.8的新功能介紹的文章,在自己的項目中也在提前體驗(yàn)新的Python版本。這篇文章主要介紹了Python 3.8新特征之a(chǎn)syncio REPL,需要的朋友可以參考下2019-05-05
Django 導(dǎo)出 Excel 代碼的實(shí)例詳解
本篇文章主要介紹了Django 導(dǎo)出 Excel 代碼的實(shí)例詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-08-08

