builtin_range.py 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. # test builtin range type
  2. # print
  3. print(range(4))
  4. # bool
  5. print(bool(range(0)))
  6. print(bool(range(10)))
  7. # len
  8. print(len(range(0)))
  9. print(len(range(4)))
  10. print(len(range(1, 4)))
  11. print(len(range(1, 4, 2)))
  12. print(len(range(1, 4, -1)))
  13. print(len(range(4, 1, -1)))
  14. print(len(range(4, 1, -2)))
  15. # subscr
  16. print(range(4)[0])
  17. print(range(4)[1])
  18. print(range(4)[-1])
  19. # slice
  20. print(range(4)[0:])
  21. print(range(4)[1:])
  22. print(range(4)[1:2])
  23. print(range(4)[1:3])
  24. print(range(4)[1::2])
  25. print(range(4)[1:-2:2])
  26. print(range(1, 4)[:])
  27. print(range(1, 4)[0:])
  28. print(range(1, 4)[1:])
  29. print(range(1, 4)[:-1])
  30. print(range(7, -2, -4)[:])
  31. print(range(1, 100, 5)[5:15:3])
  32. print(range(1, 100, 5)[15:5:-3])
  33. print(range(100, 1, -5)[5:15:3])
  34. print(range(100, 1, -5)[15:5:-3])
  35. # for this case uPy gives a different stop value but the listed elements are still correct
  36. print(list(range(7, -2, -4)[2:-2:]))
  37. # zero step
  38. try:
  39. range(1, 2, 0)
  40. except ValueError:
  41. print("ValueError")
  42. # bad unary op
  43. try:
  44. -range(1)
  45. except TypeError:
  46. print("TypeError")
  47. # bad subscription (can't store)
  48. try:
  49. range(1)[0] = 1
  50. except TypeError:
  51. print("TypeError")