Вы должны использовать функцию конца с, чтобы проверить, равны ли последние "n" символов в кубе строковому представлению числа, которое вы передали.
Таким образом, вы можете сделать:
print(str(num_cube).endswith(num))
То, как вы сейчас это реализовали, вы «жестко кодируете» ожидаемую длину числа, считываемого с stdin, и, таким образом, предполагаете, что оно всегда будет иметь длину 1.
Чтобы исправить свой код, вы бы сделали следующее:
>>> num = "24"
>>> num_cube = str(pow(int(num), 3))
>>> num_cube[len(num_cube) - len(num):] == num
True
>>> num_cube[-len(num):] == num # negative indexing
True