小学生蓝桥杯Python闯关 | 回文数
Posted COCOgsta
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小学生蓝桥杯Python闯关 | 回文数相关的知识,希望对你有一定的参考价值。
学习Python从娃娃抓起!记录下蓝桥杯Python学习和备考过程中的题目,记录每一个瞬间。
附上汇总贴:小学生蓝桥杯Python闯关 | 汇总_COCOgsta的博客-CSDN博客
【题目描述】
回文数是指一个像14641这样“对称”的数,即:将这个数的各位数字按相反的顺序重新排列后,所得到的数和原来的数一样。请编程求不同位数数字的回文数的个数。
用户输入一个正整数M(2<M<7),M作为回文数的位数。要求输出M位的回文数共有几个及这些回文数中有几个包含数字99。
【输入描述】
输入一个正整数M
【输出描述】
第一行输出回文数的个数;第二行输出M位的回文数中包含数字99的有几个。
【样例输入】
3
【样例输出】
90
1
【代码详解】
M = int(input())
max = 10**M -1
min = 10**(M-1)
count = 0
count2 = 0
for i in range (min, max+1):
ls = list(str(i))
for j in range(len(ls)):
if ls[j] == ls[M-1-j]:
pass
else:
break
else:
count += 1
num = str(i)
if '99' in num:
count2 += 1
print(count)
print(count2)
复制代码
【运行结果】
6
900
99
以上是关于小学生蓝桥杯Python闯关 | 回文数的主要内容,如果未能解决你的问题,请参考以下文章