Задача «Только квадраты» Решение

Напишите программу, которая выбирает из полученной последовательности квадраты целых чисел выводит их в обратном порядке. Использовать массив для хранения последовательности не разрешается.

Формат ввода

Во входных строках записаны целые числа, по одному в каждой строке. В последней строке записано число 0.

Формат вывода

Программа должна вывести элементы полученной последовательности, которые представляют собой квадраты целых чисел, в обратном порядке в одну строчку, разделив их пробелами. Если таких нет, программа должна вывести число 0.

Решение

def sqr():
    n = int(input())
    if n != 0:
        sqr()
        if (n ** (1 / 2)).is_integer():
            global t
            t = 0
            print(n, end=' ')


t = 1
sqr()
if t:
    print(0)