做这个练习,需要我们先来复习一下数学知识,什么是回文数?回文数是指一个数字无论从左向右读还是从右向左读,结果都完全相同的数。我们练习的题目是判断一个5位数是否是回文数。
一、编写思路
从键盘上获取用户输入的5位数字,并把它转换为整型,同时赋给一个变量,对于一个5位数的回文数其特点为个位数与万位数一样、千位数与十位数一样。那么如何获取个位数、十位数、千位数、万位数呢,这又要考察数字知识了。
获取个位数:输入的数对10取余运算结果就是个位数
获取十位数:输入的数先对10做整除运算,然后再对10取余运算结果就是十位数
获取千位数:输入的数先对1000做整除运算,然后再对10取余运算结果就是千位数
获取万位数:输入的数对10000做整除运算,结果就是万位数
最后使用if else判断语句分别判断个位数是否等于万位数、十位数是否等于千位数,并打印输出运行结果。
二、示例演示
打开PyCharm编辑器,新建“判断是否是回文数.py”文件,如下图所示
不是回文数的情况
是回文数的情况
附:完整源码
"""
判断一个5位数是否是回文数
回文数是指一个数字无论从左向右读还是从右向左读,结果都完全相同的数
5位数回文数的特点:个位数与万位数一样、千位数与十位数一样
"""
print("找回文数")
num = int(input("请输入一个5位数:")) #使用input语句从键盘上获取用户输入的数据,并转换为整型赋值给变量num
unit = ten = k = m = 0 #定义代表个、十、千、万的变量,并赋初值为0
unit = num % 10 #取出个位上的数字
ten = num // 10 % 10 #取出十位上的数字
k = num // 1000 % 10 #取出千位上的数字
m = num // 10000 #取出万位上的数字
if(unit == m and ten == k) :
print(f"{num}是回文数")
else :
print(f"{num}不是回文数")