我是一個業餘的Python,我做了一個程序,將編碼一串長字符並輸出6個字符。重新排列一個36位數字?
def token (n):
if n < 10:
return chr(ord('0') + (n))
if n in range (10, 36):
return chr(ord('A') - 10 + (n))
if n in range (37, 62):
return chr(ord('a') - 36 + (n))
if n is 62:
return '-'
if n is 63:
return '+'
令牌把一個數(n)轉換成一個字符。大寫和小寫字母包括字符「 - 」和「+」。
def encode (n):
a = n // 1 % 64
b = n // 64 % 64
c = n // 64 ** 2 % 64
d = n // 64 ** 3 % 64
e = n // 64 ** 4 % 64
f = n // 64 ** 5 % 64
return (token(a) + token(b) + token(c) + token(d) + token(e) + token(f))
這是編碼的其餘部分。
print(encode(1234567890))
'IBWb91'
再次,有沒有辦法來爲六個字符的輸出訂單?
這是我到目前爲止。我從現有的問題中得到了這個。
How can I reorder a list in python?
mylist = ['a','b','c','d','e','f',]
myorder = [6,5,4,3,2,1]
mylist = [ mylist[i] for i in myorder]
但是......它給了我這樣的:
IndexError: list index out of range
我希望發生什麼:
>>> print(mylist)
['f','e','d','c','b','a']
我完全是新來這個。請幫助:)
你只是想扭轉列表,或者你需要更復雜的東西? – abarnert