21_functions.py 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. ## Function Tests.
  2. def f1():
  3. return 'f1'
  4. assert f1() == 'f1'
  5. def f2(a, b, c, d):
  6. return c
  7. assert f2('a', 'b', 'c', 'd') == 'c'
  8. def f3(a,b):
  9. return a - b
  10. assert f3(1,2) == -1
  11. def f4(a,b):
  12. return a + f3(a, b)
  13. assert f4(1,2) == 0
  14. def fact(n):
  15. if n == 1:
  16. return 1
  17. return n * fact(n - 1)
  18. assert fact(5)==120
  19. def f(a=1, b=-1):
  20. return a + b
  21. assert f() == 0
  22. assert f(1, 2) == 3
  23. assert f(-5) == -6
  24. assert f(b=5) == 6
  25. assert f(a=5) == 4
  26. assert f(b=5, a=5) == 10
  27. def f(*args):
  28. return 10 * sum(args)
  29. assert f(1, 2, 3) == 60
  30. def f(x, *args, y=3):
  31. i = 0
  32. for j in args:
  33. i += j
  34. return i * y
  35. assert f(10, 1, 2, 3) == 18
  36. def f(a, b, *c, d=2, e=5):
  37. return a + b + d + e + sum(c)
  38. assert f(1, 2, 3, 4) == 17
  39. assert f(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) == 62
  40. assert f(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, d=1, e=2) == 58
  41. assert f(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, e=1, d=2) == 58
  42. assert f(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, d=1) == 61
  43. assert f(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, e=1) == 58
  44. assert f(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) == 217
  45. assert f(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, d=1, e=2) == 213
  46. a = 1
  47. b = 2
  48. def f():
  49. global a, b
  50. a = 3
  51. b = 4
  52. f()
  53. assert a == 3
  54. assert b == 4