python实现查找满足条件的数字

问题:一个四位数,知道其前两位和后两位分别相等,并且这个数还是一个平方数,求出这个数。

一个四位数,范围只能是1000~9999,前两位和后两位分别相等,也就是说,它的结构应该是aabb。最后,这个数是一个平方数。有的小伙伴可能不知道啥叫平方数,暂且解释下,所谓的平方数就是指该数等于一个整数的平方。比如3的平方是9,那么我们就说9是个平方数。

第一步,这是个四位数,前两位和后两位分别相等,我们将满足条件的数放到一个列表里。用python写出来的效果是这样的:

lst = []
for i in range(1000, 10000):
    if (i // 1000 == (i % 1000) // 100) and ((i % 100) // 10 == i % 10):
        lst.append(i)

第二步,这是一个平方数,所以它得等于一个整数的平方。代码效果:

for i in lst:
    for j in range(33, 99):
        if i == j * j:
            print(i)

看到这,是不是有小伙伴可能会有疑问,内部循环的范围是啥意思?


这个问题我不作回答,留给大家思考,欢迎有看出来的小伙伴在评论区留言,告诉还在迷惑的朋友哦!

最后,完整代码如下:

lst = []
for i in range(1000, 10000):
    if (i // 1000 == (i % 1000) // 100) and ((i % 100) // 10 == i % 10):
        lst.append(i)
for i in lst:
    for j in range(33, 99):
        if i == j * j:
            print(i)

最后打印输出的结果:

7744

你可能感兴趣的:(python)