设n是一任意自然数,如果n的各位数字反向排列所得自然数与n相等,则n被称为回文数。
从键盘输入一个5位数字,请编写程序判断这个数字是不是回文数。
- 方法一:
num = input("请输入一个五位数:")
# 输入的是字符串,字符串才有索引,如果强制转换为int型,会报错
if not (int(num) > 9999 and int (num) < 99999):
print("输入的数字无效,请重新输入哦~~")
else:
if(num == num[::-1]):
print("{}是回文数".format(num))
else:
print("{}不是回文数".format(num))
运行一次,输入一次
输入88888
输入12345
输入浮点型--报错
- 方法二:
可以判断任意字符串(包含数字、汉字)
num = input("请输入一个整数:")
if(num == num[::-1]):
print("{}是回文数".format(num))
else:
print("{}不是回文数".format(num))
输入88888
输入浮点型(不会报错)
输入汉字(不会报错)
- 在方法二的基础上添加一个循环
num = 0
while num not in ['0']:# 输入除了0以外的数,都可以不断循环;输入0,退出循环
num = input("请输入一个整数:") # 输入的是字符串,字符串才有索引,如果强制转换为int型,会报错
if(num == num[::-1]):
print("{}是回文数".format(num))
else:
print("{}不是回文数".format(num))
else:
print("循环结束")
运行一次程序,输入除0以外的任意字符串,都可以循环判断;输入0,执行后退出循环
小小总结,不足之处,欢迎指正~~