Python判断回文数的三种方法实例

需求:

从控制台输入一个五位数,如果是回文数就打印“是回文数”,否则打印“不是回文数”,例如:11111 12321 12221

“回文”是指正读反读都能读通的句子,它是古今中外都有的一种修辞方式和文字游戏,如“我为人人,人人为我”等。在数学中也有这样一类数字有这样的特征,成为回文数(palindrome number)。

设n是一任意自然数。若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数。例如,若n=1234321,则称n为一回文数;但若n=1234567,则n不是回文数。

回文数百度百科

分析:

输入为纯数字,长度为5

个位与万位上的数字相同,十位与千位上的数字相同

方法一:算术运算

思想:通过整除,求模的算数运算得到各位上的数字,再通过比较前后对比(个位与万位,十位与千位做对比),得出结论.

a = input('请输入一个五位数:')
# 判断长度是否是5位,是否有纯数字组成
if len(a) == 5 and a.isdigit():
	# 将str转为int
 a = int(a)
 # (万位与各位) and (千位与十位)
 if (a//10000 == a%10) and (a%10000//1000 == a%100 // 10):
 print(f'{a}是回文数')
 else:
 print(f'{a}不是回文数')
else:
	print('输入有误')

方法二:索引取值

思想:通过输入的字符串进行索引取值,前后进行对比,得出结论.

a = input('请输入一个五位数:')
# 判断长度是否是5位,是否有纯数字组成
if len(a) == 5 and a.isdigit():
	# 对a[0]和a[4],a[1]和a[3],进行对比
	if (a[0] == a[4]) and (a[1] == a[3]):
		print('%f是回文数' % (a))
	else:
 print('%f不是回文数' % (a))
else:
	print('输入有误')

方法三:切片逆序

思想:input()函数输入的数据的类型是str,str是有序的,所以可以对str切片操作,并取逆序的结果,将逆序的结果与原来的str做比较,得出结论.

a = input('请输入一个五位数:')
# 判断长度是否是5位,是否有纯数字组成
if len(a) == 5 and a.isdigit():
	# 逆序切片的结果与a做比较
 if a[::-1] == a:
  print(f'{a}是回文数')
 else:
  print(f'{a}不是回文数')
else:
 print('输入有误')

总结:

熟悉各基本数据结构的特点,可以帮助我们更好地解决问题.

到此这篇关于Python判断回文数的三种方法的文章就介绍到这了,更多相关Python判断回文数内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 对python判断是否回文数的实例详解

    设n是一任意自然数.若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数.例如,若n=1234321,则称n为一回文数:但若n=1234567,则n不是回文数. 上面的解释就是说回文数和逆序后的结果是相等的.这就是判断一个数值是否是回文数的标准. 代码也是根据这个思路来实现的. # -*- coding: utf-8 -*- """ Created on Sun Aug 5 09:01:38 2018 @author: FanXiaoLei ""

  • Python3实现的回文数判断及罗马数字转整数算法示例

    本文实例讲述了Python3实现的回文数判断及罗马数字转整数算法.分享给大家供大家参考,具体如下: 回文数 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 . 从右向左读, 为 121- .因此它不是一个回文数. 示例 3: 输入: 10 输出: false 解释: 从右向左读, 为 01 .因此它不是一个回文数. 进阶:你

  • Python实现判断一个整数是否为回文数算法示例

    本文实例讲述了Python实现判断一个整数是否为回文数算法.分享给大家供大家参考,具体如下: 第一个思路是先将整数转换为字符串,再将字符串翻转并与原字符串做比较 def isPalindrome(self, x): """ :type x: int :rtype: bool """ #思路:先将整数转换为字符串,再将字符串翻转并与原字符串做比较 x = str(x) return x == x[::-1] 代码简洁 第二个思路,尝试着不用字符串,

  • Python判断回文数的三种方法实例

    需求: 从控制台输入一个五位数,如果是回文数就打印"是回文数",否则打印"不是回文数",例如:11111 12321 12221 "回文"是指正读反读都能读通的句子,它是古今中外都有的一种修辞方式和文字游戏,如"我为人人,人人为我"等.在数学中也有这样一类数字有这样的特征,成为回文数(palindrome number). 设n是一任意自然数.若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数.例如,若n=123

  • 使用python实现回文数的四种方法小结

    回文数就是指整数倒过来和原整数相等. Example 1: Input: 121 Output: true Example 2: Input: -121 Output: false Explanation: From left to right, it reads -121. From right to left, it becomes 121-. Therefore it is not a palindrome. Example 3: Input: 10 Output: false Expla

  • 利用Python判断整数是否是回文数的3种方法总结

    前言 所谓回文数,就是说一个数字从左边读和从右边读的结果是一模一样的,比如12321.本文通过三个方法详细介绍了判断的方法,下面来一起看看吧 方法一:逐位判断 原理: 用一个while循环,将一个数每次都取出首位和末位,判断是否相等,只要有一次不相等退出即可. 回文数的判断条件:加入一个变量位数,如果这个数是奇数,位数为1时,即最中间那一位数,此时退出即可,同理,偶数,位数为0时,退出. 问题: 如何判断位数 如何逐位取值 优点: 思路简单 解决: 判断位数下面程序即可 y=x weishu=0

  • c语言描述回文数的三种算法

    题目描述 注意:(这些回文数都没有前导0) 1位的回文数有0,1,2,3,4,5,6,7,8,9 共10个: 2位的回文数有11,22,33,44,55,66,77,88,99 共9个: * 请问:n位的回文数有多少个?请编写一个递归函数来解决此问题!!! [输入形式]一行一个正整数,代表多少位 [输出形式]一行一个正整数,代表回文诗的个数 [样例输入]2 [样例输出]9 输入: 3 输出: 90 输入: 5 输出: 900 **输入: 10 输出: 90000** 输入: 8 输出: 9000

  • 解决Python中回文数和质数的问题

    一.前言 今天学习视频时课后作业是找出1000以内既是素数又是回文数的数,写代码这个很容易,结果一运行遇到了bug,输出结果跟预期不一样,调试了快30min,再接着一通搜索和回看视频才发现问题所在.所以特地写下来,方便以后查看.问题的关键是判断素数过程中for-else的用法上(具体看后面代码) 二.实现判断素数的功能 质数(Prime number),又称素数,指在大于1的自然数中,除了1和该数自身外,无法被其他自然数整除的数(也可定义为只有1与该数本身两个因数的数).via--Wikiped

  • Python实现"验证回文串"的几种方法

    一.LeetCode--125.验证回文串 1.问题描述 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写. 说明:本题中,我们将空字符串定义为有效的回文串. 2.示例 示例 1: 输入: "A man, a plan, a canal: Panama" 输出: True 示例 1: 输入: "race a car" 输出: False 示例 3: 输入: "!!!" 输出: True 二.解题分析 在排除空格及特殊

  • Python计算回文数的方法

    本文实例讲述了Python计算回文数的方法.分享给大家供大家参考.具体如下: 这里检查数字是不是回文数,用196算法生成一个数字的回文数 num = 905; def is_Palindrome(num): """ 判断一个数字是不是回文数,这里有些取巧了 :param num: :return: """ """ :param num: :return: """ temp = "

  • javascript判断回文数详解及实现代码

    javascript判断回文数 概要: 回文"是指正读反读都能读通的句子,它是古今中外都有的一种修辞方式和文字游戏,如"我为人人,人人为我"等.在数学中也有这样一类数字有这样的特征,成为回文数(palindrome number). 设n是一任意自然数.若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数.例如,若n=1234321,则称n为一回文数:但若n=1234567,则n不是回文数. 注意: 1.偶数个的数字也有回文数124421     2.小数没有回文

  • Python判断回文链表的方法

    什么是回文数? 回文数简单的说就是正着倒着读都是一样的,比如:12321,1221,1111等等,正着读也是12321,倒着读也是12321. 首先,接收用户输入数字列表转换成链表 比如用户输入:1 2 3 2 1,转换为链表后,如下图 首先接收用户输入数字列表,每个数字用空格分隔,使用split截断字符串,使用map,把每个元素映射成int类型,然后再转成list,使用循环取出每项元素添加到链表中. lt = list(map(int, s.split(' '))) 代码如下: # 链表类 c

  • 在python中对变量判断是否为None的三种方法总结

    三种主要的写法有: 第一种:if X is None; 第二种:if not X: 当X为None,  False, 空字符串"", 0, 空列表[], 空字典{}, 空元组()这些时,not X为真,即无法分辨出他们之间的不同. 第三种:if not X is None; 在Python中,None.空列表[].空字典{}.空元组().0等一系列代表空和无的对象会被转换成False.除此之外的其它对象都会被转化成True. 在命令if not 1中,1便会转换为bool类型的True

随机推荐