【Python 实例】回文数判断
题目:
判断输入的字符串是否为回文数
源代码:
"""
string_reverse_output():反向输出字符串的自定义函数
pending_character:待处理字符串
string_length:检测字符串长度
reverse_output_list:以列表形式显示的反向输出结果
reverse_output:以字符串形式显示的反向输出结果
calculation_results:算术运算的结果
front_end:待测整数的前端
rear_end:待测整数的后端
"""
reverse_output_list = [] # 定义全局变量的初始值
def string_reverse_output(pending_character, string_length):
global reverse_output_list # 定义全局变量
if string_length == 0:
return
else:
x = pending_character[string_length - 1]
reverse_output_list.append(x)
"""递归"""
string_reverse_output(pending_character, string_length - 1)
pending_character = input("请输入一行数字:") #提示用户输入
string_length = len(pending_character) #获取字符串长度
if string_length % 2 == 0: #当字符串长度为二的倍数时执行以下代码
"""得到字符串下标,用作拆分字符串,下标必须是整形,不能是浮点数,如果不加int,calculation_results 的类型是浮点数"""
calculation_results = int(string_length / 2)
front_end = int(pending_character[0:calculation_results]) #将字符串拆分为两部分,这是字符串的前面的部分
rear_end = pending_character[calculation_results:] #将字符串拆分为两部分,这是字符串的后面的部分
string_reverse_output(rear_end,calculation_results) #将字符串后面部分用自定义函数String_reverse_output()处理,得到反转的列表
reverse_output = int("".join(reverse_output_list)) #将反转的列表组合成字符串
if reverse_output == front_end: #如果字符串的前部分等于字符串的后面部分反转后得到的,即该整数为回文数
print ("该整数是回文数")
else:
print ("该整数不是回文数")
elif string_length % 2 == 1: #当字符串长度不是二的倍数时执行以下代码
"""得到字符串下标,用作拆分字符串,下标必须是整形,不能是浮点数,如果不加int,Calculation_results 的类型是浮点数"""
calculation_results = int((string_length - 1) / 2)
front_end = int(pending_character[0:calculation_results]) #将字符串拆分为三个部分,这是字符串的最前面的部分
rear_end = pending_character[calculation_results+1:] #将字符串拆分为三个部分,这是字符串的最后面的部分
string_reverse_output(rear_end,calculation_results) #将字符串最后面的部分用自定义函数String_reverse_output()处理,得到反转的列表
reverse_output = int("".join(reverse_output_list)) #将反转的列表组合成字符串
if reverse_output == front_end: #如果字符串最前面的部分等于字符串最后面的部分反转后得到的,即该整数为回文数
print ("该整数是回文数")
else:
print ("该整数不是回文数")
else:
print ("请输入一个整数")
运行结果:
PS D:\$RECYCLE.BIN> python3 'D:\***\回文数判断.py'
请输入一行数字:12345
该整数不是回文数
PS D:\$RECYCLE.BIN> python3 'D:\***\回文数判断.py'
请输入一行数字:12321
该整数是回文数
PS D:\$RECYCLE.BIN> python3 'D:\***\回文数判断.py'
请输入一行数字:123456
该整数不是回文数
PS D:\$RECYCLE.BIN> python3 'D:\***\回文数判断.py'
请输入一行数字:123321
该整数是回文数
PS D:\$RECYCLE.BIN>
这是反转字符串的模块:https://blog.csdn.net/qq_42875125/article/details/106381226
【Python 实例】回文数判断的更多相关文章
- 整数回文数判断 Python
判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 输入:123 输出:false 输入:-121 输出:false 输入:121 输出:true 输入:1 ...
- 练习三十:Python回文数判断编程练习。
说到回文数,大家可能会比较的陌生,但是在我们的日常生活中常会遇到这样的数字,只是你不知道它是回文数罢了. 例如:12321,这组数字就是回文数. 设n是一任意自然数.若将n的各位数字反向排列所得自然数 ...
- python3 练习题100例 (二十六)回文数判断
题目内容: 给一个5位数,判断它是不是回文数,是则输出yes,不是则输出no. 例如12321是回文数,它的个位与万位相同,十位与千位相同. 输入格式: 共一行,为一个5位数. 输出格式: 共一行,y ...
- leetcode isPalindrome (回文数判断)
回文很简单,就是正着读和反着读一样,要判断一个数是否为回文数只需要判断正反两个是不是相等即可. 再往深了想一下,只需要判断从中间分开的两个数一个正读,一个反读相等即可. 代码: class Solut ...
- c#,回文数判断
回文数:将数值反过来.如:123 反过来是321 ,如果两个数相等,则是回文,否则不是 using System; namespace ConsoleApp1 { class Program { st ...
- 用python输出回文数
一个b站上的朋友问我,怎么返回五位数的回文数的个数. 我首先百度回文数的概念,就是正读和倒读都一样的数字,例如:10001,99899 等等 数字的位数拆分一头雾水,思来想去,用字符串的方法完美解决! ...
- java基础——回文数判断
/** * 题目描述: * 有这样一类数字,他们顺着看和倒着看是相同的数,例如:121,656,2332等,这样的数字就称为:回文数字.编写一个函数,判断某数字是否是回文数字. * 要求实现方法: * ...
- C++题目:回文数判断
Determine whether an integer is a palindrome. An integer is a palindrome when it reads the same back ...
- C 语言实例 - 判断回文数
C 语言实例 - 判断回文数 判断一个数是否为回文数. 设n是一任意自然数.若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数.例如,若n=,则称n为一回文数:但若n=,则n不是回文数 ...
随机推荐
- selenium:selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.
可用链接: 1.http://blog.csdn.net/heatdeath/article/details/71136174 2.https://www.cnblogs.com/yousuosiys ...
- java 面向对象(七):类结构 方法(四)递归方法
1.定义:递归方法:一个方法体内调用它自身.2.如何理解递归方法?> 方法递归包含了一种隐式的循环,它会重复执行某段代码,但这种重复执行无须循环控制.> 递归一定要向已知方向递归,否则这种 ...
- python 迭代器(一):迭代器基础(一) 语言内部使用 iter(...) 内置函数处理可迭代对象的方式
简介 在 Python 中,所有集合都可以迭代.在 Python 语言内部,迭代器用于支持: 1.for 循环2.构建和扩展集合类型3.逐行遍历文本文件4.列表推导.字典推导和集合推导5.元组拆包6. ...
- 聊聊Mysql主从同步读写分离配置实现
Hi,各位热爱技术的小伙伴您们好,好久没有写点东西了,今天写点关于mysql主从同步配置的操作日志同大家一起分享.最近自己在全新搭建一个mysql主从同步读写分离数据库简单集群,我讲实际操作步骤整理分 ...
- Hello!GitHub 好用好玩值得收藏的开源项目集合~
这是我许久以来从各处发现的极佳开源项目,希望分享给大家~ 如果帮到你了,给我个赞好嘛 编程语言类 ️learn-go-with-tests(通过单元测试学Go) GitHub地址:https://gi ...
- Docker部署LNMP完整教程
在Docker中部署LNMP环境可以分为以下几个步骤: 安装Docker 创建镜像 创建Dockerfile build Docerfile 复制/修改配置文件 运行镜像,并映射端口 为了方便分布式部 ...
- js中实现继承的方法
目录 借用构造函数 组合继承 原型式继承 寄生式继承 寄生组合式继承 借用构造函数 这种技术的基本思想很简单,就是在子类型构造函数的内部调用超类型的构造函数.另外,函数只不过是在特定环境中执行代码的对 ...
- JAVA集合一:ArrayList和LinkedList
JAVA集合一:ArrayList和LinkedList 参考链接: HOW2J.CN 前言 这几篇博客重点记录JAVA的几个重要的集合框架:ArrayList.LinkedList.HashMap. ...
- STL源码剖析:配接器
启 配接器就是适配器 STL中的适配器一共三种: 迭代器适配器 是一种观念上的改变,如将赋值操作变成插入,前进变成后退,等 函数适配器 STL中最广泛的配接器群体 可以实现连续配接 配接操作:bind ...
- 高效C++:定制new和delete
内存的申请和释放,C++从语言级别提供了new和delete关键字,因此需要了解和熟悉其中的过程. 了解new-handler的行为 set_new_handler可以指定一个函数,当申请内存失败时调 ...