python2.7练习小例子(二十七)

    27):题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

    


#!/usr/bin/python
# -*- coding: UTF-8 -*-

a = int(raw_input("请输入一个数字:\n"))
x = str(a)
flag = True
 
for i in range(len(x)/2):
    if x[i] != x[-i - 1]:
        flag = False
        break
if flag:
    print "%d 是一个回文数!" % a
else:
    print "%d 不是一个回文数!" % a

    以上实例输出结果为:

 

请输入一个数字:
12321
12321 是一个回文数!

    Python3.x 版本可通过以下方式实现:

 

#!/usr/bin/env python3

a = input("输入一串数字: ")
b = a[::-1]
if a == b:
    print("%s 是回文"% a)
else:
    print("%s 不是回文"% a)

    Python3.x 版本可通过以下方式实现:

 

#!/usr/bin/env python3

str = input("请输入5位数: ")

if str[0] == str[-1] and str[1] == str[-2]:
    print( "%s 是一个回文数!" % str)
else:
    print( "%s 不是一个回文数!" % str)

    python3可以通过以下方法实,12321和123321同样都是回文数,这个判断更全面:

 

def number30():
  n = input("please input a num:")   
  x = list(n)   
  l = len(x)   
  if l % 2 != 0:                   # 判断是奇数还是偶数      
    mediant = int((l + 1)/2)       # 定义中间位置      
    i = x[:mediant - 1]      
    x.reverse()      
    j = x[:mediant - 1]      
    if i == j:         
      print("{0}是一个回文数".format(n))      
    else:         
      print("{0}不是一个回文数".format(n))   
  else:      
    mediant = int(l / 2)     
    i = x[:mediant]      
    x.reverse()      
    j = x[:mediant]      
    if i == j:         
      print("{0}是一个回文数".format(n))      
    else:         
      print("{0}不是一个回文数".format(n))
number30()

    Python3 测试实例:

 

# coding:utf-8
num=int(input("请输入一个5位数:"))
def fn(s):
    if len(s)==1:
        return(s[0])
    else:
        a=s[-1]
        s=s[:-1]
        return(a+fn(s))

while 1:
    if num<=0 or len(str(num))!=5:
        num=int(input("输入错误,请重新输入:"))
    else:
        num=str(num)
        print()
        if fn(num)==num:
            print("%s是回文数" % num)
        else:
            print("%s不是回文数" % num)
        break

    

# coding:utf-8

def is_true_num(num):
    if 10000<=num and num <=99999:
        b = num/10000
        c = (num/1000)%10
        d = (num%1000)%100/10
        e = num%10
        if b==e and c==d:
            print "%d:是回文数"%num
        else:
            print "%d:不是回文数"%num
    else:
        print "%d:输入错误,请重新输入" % num
if __name__ == '__main__':
    a = int(raw_input("请输入5位数字:"))
    is_true_num(a)

    

# coding:utf-8

def test(num):
    if(num>=10000 and num<100000):
        s=str(num)
        x=[]
        for i in s:
            x.append(i)
        if(x[0]==x[4] and x[1]==x[3]):
           print "是"
        else:
            print "不是"
    else:
        print "输入错误"

test(12321)

    Python3 测试实例:

 

#用列表反转法
s=input('Pleae enter 5 numbers:>>>')
li1=[]
li2=[]
for i in s:
    li1.append(i)
    li2.append(i)
li2.reverse()
print(li1,li2)
if li1== li2:
    print('Yes')
else:
    print('No')

    Python3 测试实例:

 

#!/usr/bin/env python3

a = input("请输入一个数字:")
b=list(a)
m=1
for i in range(len(a)//2):
    if a[i]!=a[-1-i]:
        print("不是")
        m=0
        break
if m:
    print("是")

    

# -*- coding:utf-8 -*-
# 在Python3下实现

x = int(input('请输入一个五位数:\n'))
a = x // 10000
b = x % 10000 // 1000
c = x % 1000 // 100
d = x % 100 // 10
e = x % 10
if a == e and b == d:
    print('%d是一个回文数!',x)
else:
    print('%d不是一个回文数!',x)

    一个练手的小例子。如果感觉不错的话,请多多点赞支持哦。。。

  原文链接:https://blog.csdn.net/luyaran/article/details/80075325

posted @ 2018-04-25 13:18  luyaran  阅读(311)  评论(0编辑  收藏  举报