Check Perfect Square

Check whether a number is a perfect square (without using the square root function).

IntermediatePhase 1 - Level 3: Math and Number LogicExample 10 of 10
check-perfect-square.py
1# Take number
2num = int(input("Enter a number: "))
3
4# Check if perfect square
5is_perfect_square = False
6for i in range(1, num + 1):
7 if i * i == num:
8 is_perfect_square = True
9 break
10 if i * i > num:
11 break
12
13if is_perfect_square:
14 print("Perfect square")
15else:
16 print("Not a perfect square")

Output

Enter a number: 16
Perfect square

Enter a number: 15
Not a perfect square

What's going on

Check if any number squared equals the input.

Key Concepts:

Loop through numbers from 1 to num
Check if i * i == num
Stop early if i * i > num (optimization)