我是一个刚参加蓝桥杯的小学生,接下来就让我讲一下Python第四题。
根据我的回忆,题目大致如下:
一个数,如12321、535这样的数叫做回文数;一个数,例如121,它既是11的平方,也是一个回文数,我们叫他平方回文数。
输入:
一个数字n,求0到n有哪几歌平方回文数。
e.g.:
输入:150
输出:121
其实非常简单,只需要先定义一个函数,并知道如何让字符串以倒序方式排列,遍历0到n间的数,看看有哪些数是符合的就行了。
在这里声明一下,回文数一般都是三位及以上的数。
代码如下:
def func(a): #定义函数func
a = str(a) #转化为字符串
x = a[::-1] #倒序排列a
if x == a:
return 0
else:
return 1
n = int(input())
for i in range(0,n): #遍历0到n间的数
b = i * i
flag = func(b)
if flag == 0 and b < n and b > 100:
print('{}是平方回文数'.format(b))