【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不是回文数 ...
随机推荐
- day78 作业
目录 1 在作业.html的代码基础上,完成商品数量的加减,注意商品数量如果低于0个,则自动删除当前商品 2 在作业.html的代码基础仧,完成购物车总价格的计算 3 使用ajax获取北京天气,并把昨 ...
- 午间邂逅 | post 和 get 的兄弟情深
前言 本文已经收录到我的 Github 个人博客,欢迎大佬们光临寒舍: 我的 Github 博客 学习导图: image-20200710142453734 image-202007101431049 ...
- 用nodejs实现向文件的固定位置插入内容
往文件的固定的行写入数据: 需要用到时nodejs的fs模块和path模块 用到fs模块的方法 readFileSync & writeFileSync : readFileSync 是读取文 ...
- 关于Haskell计算斐波那契数列的思考
背景 众所周知,Haskell语言是一门函数式编程语言.函数式编程语言的一大特点就是数值和对象都是不可变的,而这与经常需要对状态目前的值进行修改的动态规划算法似乎有些"格格不入", ...
- 010.Nginx正反代理
一 Nginx代理 1.1 Nginx代理概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器.同时也是一个IMAP.POP3.SMTP代理服务器.nginx可以作为一个HTT ...
- python如何编写win程序
python可以编写win程序.win程序的格式是exe,下面我们就来看一下使用python编写exe程序的方法. 编写好python程序后py2exe模块即可将其打包为exe程序. 实际操作过程: ...
- Java基础(二)流程语句与数组
Java流程语句详解:https://www.cnblogs.com/jiajia-16/p/6008200.html Java数组详解:https://www.cnblogs.com/jiajia- ...
- 前端学习(八):CSS
进击のpython ***** 前端学习--CSS 现在的互联网前端分为三层: HTML:超文本标记语言.从语义的角度描述页面结构 CSS:层叠样式表.从审美的角度负责页面样式 JS:Javascri ...
- JAVA OOP 编程-常用设计模式
smart-design-pattern 吼吼!10分钟内快速回顾所有设计模式及应用场景 其实,工作三年以上,精通coding,深知并发编程,熟悉OOP思想,但却因为种种原因! 没有在学习生涯初期就看 ...
- sed打印包含一个字符串的行到包含另一个字符串的行解答
sed -n '/字符串1/,/字符串2/p' filename 这个命令为什么有时候打印不出来想要的东西,例如:sed -n '/root/,/adm/p' /etc/passwd 我 ...