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)
一个练手的小例子. 如果感觉不错的话, 请多多点赞支持哦...
来源: http://www.bubuko.com/infodetail-2574206.html