原标题:「每日一练」巧用Python识别是不是回文数
Python对于数字的处理能力是很强大的,今天我们让Python判断我们输入的一个数是不是回文数,那么什么是回文数呢?12321是回文数,个位与万位相同,十位与千位相同。
往下看,就是这么简单!
案例
一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
先上代码~
运行效果
题目详述
程序分析:要实现对于回文数的判断,我们需要对这个数前后的数字进行对比,第一位跟最后一位数字,第二位跟倒数第二位数字
第一行:
s = input('随便输入一个整数:')
创建一个input函数,用来存放输入的整体,作为原始变量s使用,注意这个时候s的格式是字符串
第二行:
l = len(s)
len() 方法返回列表元素个数,如果是字符串的话,返回的是字符串中字符的长度
第三行:
flag = True
创建一个布尔类型的变量,刚开始赋值为True,如果在判断全部结束之后,依旧为 True则满足条件
第四行:
for i in range(l//2):
if s[i] != s[-i-1]:
flag = False
因为range只接受整数类型,所以这里我们遍历的时候,取总长度的一半并且用整除的值,比如说4位数,取2,5位数的话依旧是取2,这就足够把前后的数字都对比一下
s[i] != s[-i-1]这个需要重点讲解一下,这里需要对下标的概念很熟悉才能清楚这个,下标是从0开始到len(s)-1,这个是正序排列,逆序则是从-1到-len(s),相信通过对比,不难理解上边为何要那么对比,如果有一个不满足前后数字对应,就将False赋值给flag
第五行:
if flag == True:
print("%s 是一个回文数!" % s)
else:
print("%s 不是一个回文数!" % s)
这个相信比较好理解,如果flag还是True,则说明s是回文数,否则s不满足回文数的条件!
进阶:
轻松的就实现想要的目的
是不是很便捷呢
结束语
总体来说思路只要有了,以后遇到类似的问题就可以解决了,是不是发现原来Python可以这么神奇!
———— e n d ————
觉得文章不错的,欢迎点在看和转发返回搜狐,查看更多
责任编辑: