fork download
  1. # your code goes here
  2. b = 6
  3.  
  4. def f_a():
  5. print(a)
  6.  
  7. def f_b():
  8. print(b)
  9.  
  10. def g_a():
  11. if False:
  12. a = 5
  13. print(a)
  14.  
  15. def g_b():
  16. if False:
  17. b = 5
  18. print(b)
  19.  
  20. for f in [f_a, f_b, g_a, g_b]:
  21. print(f.__name__)
  22. try:
  23. f()
  24. except Exception as e:
  25. print(type(e), e)
  26. print()
Success #stdin #stdout 0.03s 9984KB
stdin
Standard input is empty
stdout
f_a
<class 'NameError'> name 'a' is not defined

f_b
6

g_a
<class 'UnboundLocalError'> local variable 'a' referenced before assignment

g_b
<class 'UnboundLocalError'> local variable 'b' referenced before assignment