<p>如果你像我一样偏执于图书馆,那么这就是你的解决办法。在</p>
<pre><code>def raw_inp(msg):
#This function makes sure the raw_input function is available in
#both python 2.x or 3.x
try:
return raw_input(msg)
except NameError:
return input(msg)
def unique_array(arr):
#This function removes duplicates of array values
check = []
for i in arr:
if i not in check:
check.append(i)
return check
def form(key):
key = key.lower() #make sure key is all lowercase
alpha = []
key_arr = [] #Convert key to array
key_arr.extend(key)#Convert key to array
key = key_arr #Convert key to array
alpha.extend("abcdefghijklmnopqrstuvwxyz") #Convert alphabet to array
arr = (key+alpha)
new_arr = []
finish_arr = []
return_arr = []
arr = unique_array(arr) #Removes any duplicate letters before we start
for i in arr:
if i in alpha: #if the character is in the alphabet
if i == "i" or i == "j": #if it is i or j, place it together
new_arr.append("ij")
else:
new_arr.append(i) #or else place the letter in the array
x = 0 #array index
i = 0
new_arr = unique_array(new_arr)
while x < 5:
finish_arr.append([])
finish_arr[x] = []
y = 0
while y < 5:
finish_arr[x].append(new_arr[i])
y += 1
i += 1
x += 1
for i in finish_arr:
return_arr.append(unique_array(i))
return return_arr
key = raw_inp("Key: ") #get key
arr = (form(key)) #
for i in arr:
print i
</code></pre>
<p>很抱歉这种奇怪的风格。我用另一种方式编程,然后换成了这种方式。在</p>
<p>这段代码是为了让人理解,而不是简短或高效的。如果你不明白,请评论</p>