import math def is_prime(n): for i in range(2, math.floor(math.sqrt(n) + 1)): if n % i == 0: return False return True def rotate_string(toBeRotated,n): firstHalf = toBeRotated[0:n] secondHalf = toBeRotated[n:] return secondHalf + firstHalf def is_circular_prime(n): if is_prime(n): for i in range(1, len(str(n))): if not is_prime(int(rotate_string(str(n),i))): return False return True else: return False limit = 1000000 circularPrimeList = [] for i in range(2, limit): if is_circular_prime(i): circularPrimeList.append(i) print("The number of circular primes below " + str(limit) + " is: " + str(len(circularPrimeList)))