【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不是回文数 ...
随机推荐
- Redis实例讲解
简介 Redis是一个key-value的nosql产品,和我们熟知的Memcached有些类似,但他存储value类型相对更加丰富,包括string(字符串),list(链表),set(集合),zs ...
- session + cookie 实现登录功能
前端部分代码实现 <div id="mainCp"> <div class="postForm"> <p> <labe ...
- scrapy (三) : 请求传参
scrapy 请求传参 1.定义数据结构item.py文件 ''' field: item.py ''' # -*- coding: utf-8 -*- # Define here the model ...
- humlbe bundle如何绑定二次验证码_虚拟MFA_两步验证_谷歌身份验证器?
一般点账户名——设置——安全设置中开通虚拟MFA两步验证 具体步骤见链接 humlbe bundle如何绑定二次验证码_虚拟MFA_两步验证_谷歌身份验证器? 二次验证码小程序于谷歌身份验证器APP的 ...
- 在Spring Bean的生命周期中各方法的执行顺序
Spring 容器中的 Bean 是有生命周期的,Spring 允许在 Bean 在初始化完成后以及 Bean 销毁前执行特定的操作,常用的设定方式有以下十种: 通过实现 InitializingBe ...
- 互联网找的e是无理数的初等证明
e的两种计算方式 \(e=lim_{n \to \infty}(1+\frac{1}{n})^n\) \(e=\sum_{n=0}^{+\infty}\frac{1}{n!}\) \(即,e=\fra ...
- java基础(六)--常用转义字符
1.换行:"\n"
- windows 下安装YApi及集成Idea的YapiUpload
一准备工具 Mongodb Node和npm 二文档地址 https://hellosean1025.github.io/yapi/ 三安装步骤 1.安装Mongodb,请参考 2.安装Node,请参 ...
- python学习笔记1 -- 函数式编程之高阶函数 filter
filter 函数用于过滤序列,与map 和reduce函数类似,作为高阶函数,他们也是同样的使用方法,filter(参数1, 参数2),参数1是一个函数,而参数2是一个序列. filter的作用是根 ...
- zookeeper 源码编译
环境:mac 1.github上下载 源码 项目地址:https://github.com/apache/zookeeper 2.安装 ant mac:brew update -> brew ...