## LeetCode Flood Fill

0 likes • Oct 15, 2022
Python

## More Python Posts

```def when(predicate, when_true):  return lambda x: when_true(x) if predicate(x) else x
double_even_numbers = when(lambda x: x % 2 == 0, lambda x : x * 2)print(double_even_numbers(2)) # 4print(double_even_numbers(1)) # 1```
```from itertools import productV='∀'E='∃'

def tt(f,n) :  xss=product((0,1),repeat=n)  print('function:',f.__name__)  for xs in xss : print(*xs,':',int(f(*xs)))  print('')
# p \/ (q /\ r) = (p \/ q) /\ (p \/ r)
def prob1(p,q,r) :  x=p or (q and r)  y= (p or q) and (p or r)  return x==y
tt(prob1,3)
# p/\(q\/r)=(p/\q)\/(p/\r)
def prob2(p,q,r) :  x=p and ( q or r )  y=(p and q) or (p and r)  return x==y
tt(prob2,3)
#~(p/\q)=(~p\/~q)
def prob3(p,q) :  x=not (p and q)  y=(not p) or (not q)  return x==ytt(prob3,2)
#(~(p\/q))=((~p)/\~q)
def prob4(p, q):   x = not(p or q)   y = not p and not q   return x == y
tt(prob4, 2)
#(p/\(p=>q)=>q)
def prob5(p,q):  x= p and ( not p or q)  return not x or q    tt(prob5,2)
# (p=>q)=((p\/q)=q)
def prob6(p,q) :  x = (not p or q)  y=((p or q) == q)  return x==y tt(prob6,2)

#((p=>q)=(p\/q))=qdef prob7(p,q):  if ((not p or q)==(p or q))==q:    return 1 tt(prob7,2)

#(p=>q)=((p/\q)=p)def prob8(p,q):  if (not p or q)==((p and q)==p):    return 1 tt(prob8,2)

#((p=>q)=(p/\q))=p
def prob9(p,q):  if ((not p or q)==(p and q))==p:    return '1'
tt(prob9,2)

#(p=>q)/\(q=>r)=>(p=>r)def prob10(p,q,r) :  x = not ((not p or q) and (not q or r)) or (not p or r)  return x tt(prob10, 3)

# (p = q) /\ (q => r)  => (p => r)#answer 1def prob11(p,q,r) :  x = not((p is q) and (not q or r)) or (not p or r)  return x tt(prob11, 3)
#(p=q)/\(q=>r)=>(p=>r)#answer 2def prob11(p,q,r):  x=(p==q) and (not q or r)  y=not p or r  return not x or y
tt(prob11,3)
#((p=>q)/\(q=r))=>(p=>r)
def prob12(p,q,r):  x=(not p or q) and ( q==r )  y=not p or r  return not x or y
tt(prob12,3)
#(p=>q)=>((p/\r)=>(q/\r))
def prob13(p,q,r):  x=not p or q  y=(not(p and r) or ( q and r))  return not x or y
tt(prob13,3)
#Question#2----------------------------------------
#(p=>q)=>r=p=>(q=>r)
def prob14(p,q,r):  x=(not(not p or q) or r)  y=(not p or (not q or r))  return x==y
tt(prob14,3)

def prob15(p, q):    x = not(p and q)    y = not p and not q    return x == y
tt(prob15, 2)

def prob16(p, q):    x = not(p or q)    y = not p or not q    return x == y
tt(prob16, 2)

def prob17(p):    x = p    y = not p    return x == y
tt(prob17, 1)```
`""" Number Guessing Game----------------------------------------"""import randomattempts_list = []def show_score():    if len(attempts_list) <= 0:        print("There is currently no high score, it's yours for the taking!")    else:        print("The current high score is {} attempts".format(min(attempts_list)))def start_game():    random_number = int(random.randint(1, 10))    print("Hello traveler! Welcome to the game of guesses!")    player_name = input("What is your name? ")    wanna_play = input("Hi, {}, would you like to play the guessing game? (Enter Yes/No) ".format(player_name))    // Where the show_score function USED to be    attempts = 0    show_score()    while wanna_play.lower() == "yes":        try:            guess = input("Pick a number between 1 and 10 ")            if int(guess) < 1 or int(guess) > 10:                raise ValueError("Please guess a number within the given range")            if int(guess) == random_number:                print("Nice! You got it!")                attempts += 1                attempts_list.append(attempts)                print("It took you {} attempts".format(attempts))                play_again = input("Would you like to play again? (Enter Yes/No) ")                attempts = 0                show_score()                random_number = int(random.randint(1, 10))                if play_again.lower() == "no":                    print("That's cool, have a good one!")                    break            elif int(guess) > random_number:                print("It's lower")                attempts += 1            elif int(guess) < random_number:                print("It's higher")                attempts += 1        except ValueError as err:            print("Oh no!, that is not a valid value. Try again...")            print("({})".format(err))    else:        print("That's cool, have a good one!")if __name__ == '__main__':    start_game()`

### screencap.py

asnark
0 likes • Jan 23, 2021
Python
```"""Take screenshots at x interval - make a movie of doings on a computer."""
import timefrom datetime import datetime
import ffmpegimport pyautogui
while True:    epoch_time = int(time.time())    today = datetime.now().strftime("%Y_%m_%d")    filename = str(epoch_time) + ".png"
print("taking screenshot: {0}".format(filename))    myScreenshot = pyautogui.screenshot()
myScreenshot.save(today + "/" + filename)
time.sleep(5)
## and then tie it together with: https://github.com/kkroening/ffmpeg-python/blob/master/examples/README.md#assemble-video-from-sequence-of-frames#
"""import ffmpeg(    ffmpeg    .input('./2021_01_22/*.png', pattern_type='glob', framerate=25)    .filter('deflicker', mode='pm', size=10)    .filter('scale', size='hd1080', force_original_aspect_ratio='increase')    .output('movie.mp4', crf=20, preset='slower', movflags='faststart', pix_fmt='yuv420p')    .run())"""```
`print("hellur")`
`import copybegining = [False,False,False,False,False,None,True,True,True,True,True]#False = black True = whiteits = def swap(layout, step):    layoutCopy = copy.deepcopy(layout)    layoutCopy[(step+step)], layoutCopy[step] = layoutCopy[step], layoutCopy[(step+step)]    return layoutCopydef isSolved(layout):    for i in range(len(layout)):        if(layout[i] == False):            return (i >= (len(layout)/2))def recurse(layout, its, steps = []):    if isSolved(layout):        its += 1        print(layout,list(x for x in steps))        return    step = None    for i in range(len(layout)):        if(layout[i] == None):            if(i >= 1): #If the empty space could have something to the left                if(layout[i - 1] == False):                    step = [-1,i]                    recurse(swap(layout,step), its, (steps+[step]))                if(i > 1): #If the empty space could have something 2 to the left                    if(layout[i - 2] == False):                        step = [-2,i]                        recurse(swap(layout,step), its, (steps+[step]))            if(i < (len(layout)-1)): #If the empty space could have something to the right                if(layout[i + 1] == True):                    step = [1,i]                    recurse(swap(layout,step), its, (steps+[step]))                if(i < (len(layout)-2)): #If the empty space could have something to the right                    if(layout[i + 2] == True):                        step = [2,i]                        recurse(swap(layout,step), its, (steps+[step]))    its += 1    #return Nonerecurse(begining,its,[])print(its)`