import RPi.GPIO as GPIO
from time import sleep
import sys

GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
candylist = [1,2,3,4]
#1
GPIO.setup(17, GPIO.OUT)
GPIO.setup(27, GPIO.OUT)
#2
GPIO.setup(22, GPIO.OUT)
GPIO.setup(5, GPIO.OUT)
#3
GPIO.setup(23, GPIO.OUT)
GPIO.setup(24, GPIO.OUT)
#4
GPIO.setup(20, GPIO.OUT)
GPIO.setup(21, GPIO.OUT)

def dispense(y):
    
    try:
        y = int(y)
        
        if(y == 1):
            y = 27
            print("Dispensing...")
        if(y == 2):
            y = 22
            print("Dispensing...")
        if(y == 3):
            y = 24
            print("Dispensing...")
        if(y == 4):
            y = 21
            print("Please enter a valid output")
        elif (y>4):
            print("Please enter a valid output")
        elif (y<0):
            print("Please enter a valid output")
        GPIO.output(y, GPIO.HIGH)
        sleep(0.15)
        GPIO.output(y, GPIO.LOW)
        print("Please enter desired output. (1, 2, 3, or 4)")
    except ValueError:
        print("Please enter a valid output")
        
print("Please enter desired output. (1, 2, 3, or 4)")

while True:

    x = input()
    dispense(x)
