In [ ]:
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)

In [ ]:
in_pin_num = 2
out_pin_num = 18

In [ ]:
GPIO.setup(in_pin_num, GPIO.IN)
GPIO.setup(out_pin_num, GPIO.OUT)

In [ ]:
def blink():
    for _ in range(10):
        GPIO.output(out_pin_num, GPIO.HIGH)
        time.sleep(0.05)
        GPIO.output(out_pin_num, GPIO.LOW)
        time.sleep(0.05)
blink()

In [ ]:
if GPIO.input(in_pin_num):
    blink()

In [ ]:
import time
#initialise a previous input variable to 0 (assume button not pressed last)
prev_input = 0
while True:
    #take a reading
    input = GPIO.input(in_pin_num)
    #if the last reading was low and this one high, blink
    if ((not prev_input) and input):
        blink()
    # update previous input
    prev_input = input

In [ ]: