opt_self.py 783 B

12345678910111213141516171819202122232425262728293031
  1. a = 1
  2. a += -1 # Should result in 0
  3. assert a == 0
  4. a -= -1 # Subtracting -1 is same as adding 1, should result in 1
  5. assert a == 1
  6. a *= -1 # Should result in -1
  7. assert a == -1
  8. # Be careful with dividing by -1 if a is 0, it will raise a ZeroDivisionError
  9. a /= -1 # Should result in 1
  10. assert a == 1
  11. a **= -1 # Should result in 1.0 (since a is 1)
  12. assert a == 1.0
  13. # Be careful with floordiv by -1 if a is 0, it will raise a ZeroDivisionError
  14. a //= -1 # Should result in -1.0
  15. assert a == -1.0
  16. # Here onwards, comparison operators are used, they will return a boolean
  17. assert (a >= -1) == True
  18. assert (a <= -1) == True
  19. assert (a != -1) == False
  20. # Be careful with modulo by -1 if a is 0, it will raise a ZeroDivisionError
  21. a %= -1 # Should result in 0
  22. assert a == 0
  23. print("PASS")