python迴文數
A. python判斷是不是迴文數
n = int(input('請輸入一個整數:'))
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 是一個迴文數' % n)
else:
print('%d 不是一個迴文數' % n)
B. 求大神指點,以下用Python判斷是否為迴文數錯在哪裡為什麼顯示inf
實際上不用這么復雜,也不需要轉化成數字,就當字元處理就好。輸入一個字元串(數字字母均可,然後轉化成反向字元串。比較即可。#判定是否為迴文數az = input('輸入字元串:')af = az[::-1] #字元串取反if af == az: print(az,'迴文字元串')else: print(az,'不是迴文字元串')
輸入字元串:上海自來水來自海上
上海自來水來自海上 迴文字元串
C. python 產生迴文數
from itertools import proct
def palind(n):
return [n*'%s'%tuple( list(i) + list(i[-(n%2)-1::-1]) ) for i in proct(*( [range(1,10)]+[range(10)]*((n-1)/2)) )]
print map(palind, [3,4,5])
如果需要產生迴文數,一般會判斷是否對稱或比較反轉後是否還是自身然後過濾,范圍較大時,效率就不高了
n位的迴文數是其實是由前Ceiling(n/2)位決定的,以上代碼採用構造法生成迴文數,生成10位以內的迴文數<1s (不輸出)
D. python迴文素數前一百個
defisPrime(n):
ifn<=1:
returnFalse
i=2
whilei*i<=n:
ifn%i==0:
returnFalse
i+=1
returnTrue
n=0
m=11
whilen<100:
ifisPrime(m)andstr(m)==str(m)[::-1]:
n+=1
print('{:>6}'.format(m),end=''ifn%10else' ')
m+=1
E. python求出五位數的迴文數
「迴文」是指正讀反讀都能讀通的句子,它是古今中外都有的一種修辭方式和文字游戲,如「我為人人,人人為我」等。在數學中也有這樣一類數字有這樣的特徵,稱為迴文數。
題主如果是想求五位數的迴文數,一起構成一個十位數,那直接倒序輸出就行了。將倒序後的數組存放到一個新數組,和之前的五位數一起構成一個新數組。
下面實現一下我的想法:
a = input('請輸入一個五位數:')
old_list = list(a)
new_list = old_list[::-1]
sum_list = old_list + new_list
result = ''.join(sum_list)
print(result)
F. 請編寫Python程序完成以下要求:提示用戶從鍵盤上輸入一個數num,判斷該數unm是否為迴文數
方法很簡單,就是對前半段的每一位判斷後半段對應那一位上的數字是否相同。
python代碼的縮進非常重要,然而網路知道會吞掉空格,所以下面代碼是不能直接執行的,你需要自己添加縮進。
num=input("請輸入num:")
numStr=str(num)#把數字轉換成字元串便於處理
flag=True
foriinrange(int(((len(numStr)+1)/2))): #判斷num前半段和後半段是否一一對應
ifnumStr[i]!=numStr[len(numStr)-1-i]:
flag=False
ifflag:
print(num,"是迴文數")
else:
print(num,"不是迴文數")
G. python 編寫函數,判斷輸入的數字是否為迴文數
這個有好幾種方式實現,最簡單的首先數字轉換成字元串x=12321
y=str(x),然後使用list[start:end:span]這種句式將字元串轉換成list並倒序輸出y[::-1],其中span小於0時倒序,大於0時正序,-1按順序倒序輸出,-2隔一個倒序輸出。
具體如下
x
=
input("請輸入任意數字")
if
x
==
x[::-1]:
print("迴文數")
else:
print("不是迴文數")
H. python 編寫函數,判斷輸入的數字是否為迴文數
這個有好幾種方式實現,最簡單的首先數字轉換成字元串x=12321 y=str(x),然後使用list[start:end:span]這種句式將字元串轉換成list並倒序輸出y[::-1],其中span小於0時倒序,大於0時正序,-1按順序倒序輸出,-2隔一個倒序輸出。
具體如下
x = input("請輸入任意數字")
if x == x[::-1]:
print("迴文數")
else:
print("不是迴文數")
I. 如何用python找出10000以內的全部迴文數
for i in range(10000):
s = str(i)
f = True
for j in range(len(s)//2):
if s[j] != s[-1-j]:
f = False
break
if f:
print (i)
J. python編程,迴文數判斷
def func(n):
m=0
t=n
while t>0:
m=m*10+t%10
t=t//10
return m==n
n=int(input())
if func(n):
print("yes")
else:
print("no")