python列表的问题,同构数

利用列表,编程找出100以内所有的“同构数”。“同构数”是这样一种数,它出现在它的平方数的右端。例如5*5=25,则5是同构数。

for i in range(100):
  if str(i**2)[-len(str(i)):] == str(i):
    print(i)

0
1
5
6
25
76

这种方法也可以:

t = []
for i in range(100):
        t.append(i*(i-1))
        if t[i]%10**len(str(i))==0:
            print(i)

0
1
5
6
25
76