+ 1
Why print("hey" < "hay") is false
3 Answers
+ 9
I must correct đ Alex TuÈinean đ. The answer has nothing to do with comparison of key codes at all. Key codes are mapped to keyboard keys and are not the same meaning as character codes. This article has good detail if you want to learn more: https://docs.microsoft.com/en-us/windows/win32/learnwin32/keyboard-input
When Python compares strings it compares ordinal values of the Unicode characters. You can see the ordinal values by using the ord() function:
for i in "hey":
print(ord(i))
104
101 <-- 'e'
121
for i in "hay":
print(ord(i))
104
97 <-- 'a'
121
From left to right, none of the character values in "hey" are less than corresponding ones in "hay". It stops comparing at 'e' and 'a' because 101>97. So your string comparison "hey"<"hay" is false.
+ 4
Check this.
https://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes
because the key code of "e" is bigger than the key code of "a", your code returns false.
edit: I realise you are searching for the python answer instead of js one but this is the one I could find the fastest, and the answer would be almost similar.
+ 2
So it means that as we go from a to z key code increases