def foo(a, b):
    if a:
        pass
    else:
        a = 3
    if b:
        pass