title: infinite while loop python
body: <p>I am doing a parking sensor with <code>raspberry pi</code> and <code>python</code> </p>
  
  <p>This is the code : </p>
  
  <pre><code>import RPi.GPIO as GPIO
  import time
  #from picamera import PiCamera
  from time import sleep
  from gpiozero import MotionSensor
  import smtplib
  
  sender = '*****@gmail.com'
  reciever = '*****@gmail.com'
  
  def BlueLED (): #Blue LED Function 
  
      GPIO.output(27, GPIO.HIGH)
      time.sleep(3)
      GPIO.output(27, GPIO.LOW)
  
  
  def RedLED (): #Red LED Function
  
      GPIO.output(22,GPIO.HIGH)
      time.sleep(3)
      GPIO.output(22, GPIO.LOW)
  
  def Buzzer (): #Buzzer Function 
  
      GPIO.output(17, GPIO. HIGH)
      time.sleep(3)
      GPIO.output(17, GPIO.LOW)
  
  
  def email(sender,reciever,msg):
      try :
          server = smtplib.SMTP('smtp.gmail.com',587)
          server.ehlo()
          server.starttls()
          server.login(sender,'******')
          server.sendmail(sender,reciever,msg)
          server.close()
  
          print('Email sent!')
  
      except :
          print('Error')
  
  try :
  
      GPIO.setmode(GPIO.BCM)
      #camera = PiCamera()
      pir = MotionSensor(4)
      GPIO.setwarnings(False)
  
  
      GPIO.setup(27, GPIO.OUT) #blueLED
      GPIO.setup(22, GPIO.OUT) #redLED
      GPIO.setup(17, GPIO.OUT) #buzzer
      GPIO.setup(18, GPIO.OUT) #tempsensor
  
      GPIO.setup(21, GPIO.IN, pull_up_down = GPIO.PUD_UP) #entry button
  
      count = 0
  
      while True :
  
          if (pir.motion_detected):
              print('Motion Detected')
  
              #Calling the buzzer function 
              #Buzzer()
  
              #The content that is going to be sent via email 
  
  
              msg = """Subject : Car Park 
  
              (Picture) """
  
              email(sender,reciever,msg)
  
  
  
  
              print('\nPlease press the button for the gate to open')
  
  
  
              while True :
  
                  if(GPIO.input(21) == False):
                      if (count &amp;lt; 5):
                          BlueLED()
                          print('\nThere are ',(5-count), ' parking spaces empty ')
  
                      else :
                          RedLED()
                          print('\nSorry but the parking is full')
  
                      count = count + 1
  
  
  
  except Exception as ex :
      print('Error occured',ex)
  </code></pre>
  
  <p>My problem is that the first while loop is not working, i.e if the motion sensor is triggered nothing happens yet you can repress the button and the count is increased. I'm guessing there is an easy solution to this but non seem to come to mind. Would love your help, thanks </p>