$A \rightarrow 1$
$B \rightarrow 2$
$C \rightarrow 3$
$D \rightarrow 4$
$E \rightarrow 5$
$F \rightarrow 6$
$G \rightarrow 7$
$H \rightarrow 8$
$I \rightarrow 9$
$J \rightarrow 10$
$K \rightarrow 11$
$L \rightarrow 12$
$M \rightarrow 13$
$N \rightarrow 14$
$O \rightarrow 15$
$P \rightarrow 16$
$Q \rightarrow 17$
$R \rightarrow 18$
$S \rightarrow 19$
$T \rightarrow 20$
$U \rightarrow 21$
$V \rightarrow 22$
$W \rightarrow 23$
$X \rightarrow 24$
$Y\rightarrow 25$
$Z \rightarrow 26$
$h(x)= ( ( ord(x) - ord(A) ) + 1 ) \mod\ 10 $
$h(K)= ( ( ord(K) - ord(A) ) + 1 ) \mod\ 10 = ( (11 - 1 ) + 1) \mod\ 10 = 1$
$h(R)= ( ( ord(R) - ord(A) ) + 1 ) \mod\ 10 = ( (18 - 1 ) + 1) \mod\ 10 = 8$
$h(P)= ( ( ord(P) - ord(A) ) + 1 ) \mod\ 10 = ( (16 - 1 ) + 1) \mod\ 10 = 6$
$h(C)= ( ( ord(C) - ord(A) ) + 1 ) \mod\ 10 = ( (3 - 1 ) + 1) \mod\ 10 = 3$
$h(S)= ( ( ord(S) - ord(A) ) + 1 ) \mod\ 10 = ( (19 - 1 ) + 1) \mod\ 10 = 9$
$h(N)= ( ( ord(N) - ord(A) ) + 1 ) \mod\ 10 = ( (14 - 1 ) + 1) \mod\ 10 = 4$
$h(Y)= ( ( ord(Y) - ord(A) ) + 1 ) \mod\ 10 = ( (25 - 1 ) + 1) \mod\ 10 = 5$
$h(T)= ( ( ord(T) - ord(A) ) + 1 ) \mod\ 10 = ( (20 - 1 ) + 1) \mod\ 10 = 0$
$h(J)= ( ( ord(J) - ord(A) ) + 1 ) \mod\ 10 = ( (10 - 1 ) + 1) \mod\ 10 = 0$
$h(M)= ( ( ord(M) - ord(A) ) + 1 ) \mod\ 10 = ( (13 - 1 ) + 1) \mod\ 10 = 3$
0 |
T |
1 |
K |
2 |
J |
3 |
C |
4 |
N |
5 |
Y |
6 |
P |
7 |
M |
8 |
R |
9 |
S |
J and M
are causing the collision
The ord() method returns an integer representing the Unicode code point of the given Unicode character in python.
# code point of integer
print(ord('5'))
# code point of alphabet
print(ord('A'))
# code point of character
print(ord('$'))
output:
53
65
36