• takeda@lemm.ee
      link
      fedilink
      arrow-up
      20
      arrow-down
      1
      ·
      edit-2
      22 hours ago

      Python, but this is actually defined and documented behavior.

      Edit: to illustrate what I mean:

      not() # True
      

      this actually is not () (the lack of space makes it look like a function), () is a tuple, in python an empty collection returns False, this is to make checks simpler. You can type:

      if my_list:
        do something
      

      instead of

      if len(my_list) > 0:
        do something
      

      not negates it so you get True

      str(not()) # 'True'
      

      converts resulting bool type into a string representation

      min(str(not())) # 'T'
      

      This might feel odd, but that’s also documented. min() not only allows to compare two numbers like it is in most languages, but you can also provide a sequence of values and it will return the smallest one.

      String is a sequence of letters.

      Letters are comparable according to ASCII (so you can do sorting). In ASCII table capital letters are first, so the ‘T’ is the smallest value.

      ord(min(str(not()))) # 84
      

      this just converts ‘T’ to Unicode value which is 84

      range(ord(min(str(not())))) # range(0, 84)
      

      This creates a sequence of numbers from 0 to 83

      sum(range(ord(min(str(not()))))) # 3486
      

      This works like min() except adds up all the numbers in the sequence together, so in our case 0+1+2+3+…+83 = 3486

      chr(sum(range(ord(min(str(not())))))) # 'ඞ'
      

      reverse of ord(), converts Unicode value to a character.