【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不是回文数 ...
随机推荐
- 【Python篇】工厂模式
工厂方法模式 前言 在<设计模式>一书中工厂模式提到了: 工厂方法模式(Factory Method) 抽象工厂模式 (Abstract Factory) 但是在实际过程中还有一种工厂模式 ...
- python 并发专题(三):进程以及进程池相关以及实现
一.多进程实现 multiprocess.process模块 process类 Process([group [, target [, name [, args [, kwargs]]]]]),由该类 ...
- Linux08 /Docker
Linux08 /Docker 目录 Linux08 /Docker 1. docker简介/安装 2. Docker镜像加速器的设置 3. 核心三要素 镜像仓库/Registry 镜像/Image: ...
- HLS的M3U8文件介绍
HLS的M3U8文件介绍 HLS (HTTP Live Streaming)是Apple的动态码率自适应技术.主要用于PC和Apple终端的音视频服务. 相较于实时传输协议(RTP),HLS可以穿过任 ...
- Windows 磁盘分区后如何再合并&如何用Windows自带工具扩大某个分区
Windows 磁盘分区后如何再合并&用Windows自带工具扩大某个分区 注:此方法有一定的成功率,更加完善可行的方法请看http://www.diskgenius.cn/help/part ...
- Ethical Hacking - Web Penetration Testing(1)
How to hack a website? An application installed on a computer. ->web application pen-testing A co ...
- IDEA添加注释常用的快捷键
1.行注释Ctrl+/ 2.块注释Ctrl+Shift+/ 3.生成类注释 输入/**,然后按回车 (idea上没有生成类注释快捷键的,可以看这里 :idea生成类注释和方法注释的正确方法 ) 4.生 ...
- C++语法小记---前置操作符和后置操作符
前置操作符和后置操作符 单独的"++i"和"i++"是否有区别 对于基本类型: 二者没有区别,因为编译器会对代码进行优化,二者的汇编代码完全相同 对于类类型: ...
- 从LocalDateTime序列化探讨全局一致性序列化
日拱一卒无有尽,功不唐捐终入海. 楔子 前两周发了三篇SpringSecurity和一篇征文,这周打算写点简单有用易上手的文章,换换脑子,休息一下. 今天要写的是这篇:从LocalDateTime序列 ...
- MySQL中的循环
MySQL中的三中循环 while . loop .repeat 求 1-n 的和第一种 while 循环 : /* while循环语法: while 条件 DO 循环体; end while; */ ...