I have some problem with my homework. It's about stop the loops

You already have a while True: loop, you don't need the inner for loop to search for your number, just keep incrementing n in the while loop instead of adding a new counter, when the number you're looking for is found, the infinite while True: loop will stop (using break), and so your print statement will be executed:

n = 1001  #  start at 1001

while True:  #  start infinite loop
    if n % 33 == 0 and n % 273 == 0:  #  if `n` found
        break  #  exit the loop
    n += 1  #  else, increment `n` and repeat

print(f"The value of n is {n}")  #  done, print the result

Output:

The value of n is 3003

Thanks for saying it's homework! Makes it better to explain things in more detail than just giving an answer.

There are few things to explain:

1) n%33 is the remainder of dividing n by 33. So 66%33 is 0 and 67%33 is 1.

2) For loops are generally when you need to loop over a defined range (not always, but usually). E.g. "add up the first 100 integers". A while loop makes more sense here. It will definitely terminate, because at some point you'll get to 33 * 237.

3) if i%33 == 0 and i%237 == 0: means we want to do something when the number can be divided evenly (no remainder) by both 37 and 237.

n=1001
while True:
    if n%33==0 and n%237==0:
        print(n)
        break
    n+=1