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
iflen(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.
What kind of dumb language is this?
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 returnsFalse
, 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 getTrue
str(not()) # 'True'
converts resulting
bool
type into a string representationmin(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 = 3486chr(sum(range(ord(min(str(not())))))) # 'ඞ'
reverse of
ord()
, converts Unicode value to a character.Python!