Count Perfect Squares

Count perfect square numbers in array.

IntermediatePhase 4 - Level 2: Searching & Counting LogicExample 10 of 10
count-perfect-squares.py
1# Helper function
2def is_perfect_square(num):
3 if num < 0:
4 return False
5 root = int(num ** 0.5)
6 return root * root == num
7
8# Take array
9n = int(input("Enter array size: "))
10arr = []
11for i in range(n):
12 arr.append(int(input(f"Element {i+1}: ")))
13
14# Count perfect squares
15count = 0
16for element in arr:
17 if is_perfect_square(element):
18 count += 1
19
20print(f"Perfect squares: {count}")

Output

Enter array size: 5
Element 1: 4
Element 2: 5
Element 3: 9
Element 4: 16
Element 5: 20
Perfect squares: 3

What's going on

Check if number is perfect square.

Key Concepts:

Calculate square root
Check if root * root == num
Count matching elements