l = 'abcdefghijklmnopqrstuvwxy'
l = list(l)
## 第一位之前的個數函式
deffirst
(l,char):
k = l.index(char)
return k*((26*25+1)*25+1)
## 第一位確定好後,第二位之前的個數函式
defsecond
(l,char):
k = l.index(char)
return k*(26*25+1)+1
## 第一第二位確定好後,第三位之前的個數函式
defthird
(l,char):
k = l.index(char)
return k*26+1
## 第一,二,三位確定好後,第四位之前的個數函式
deffour
(l,char):
k = l.index(char)
return k+1
s = input()
s = list(s)
## 由於index從0開始,無需加1
if len(s)==1:
index = first(l,s[0])
if len(s)==2:
index = first(l,s[0])+second(l,s[1])
if len(s)==3:
index = first(l,s[0])+second(l,s[1])+third(l,s[2])
if len(s)==4:
index = first(l,s[0])+second(l,s[1])+third(l,s[2])+four(l,s[3])
print(index)
baca
16331
演算法練習 五筆編碼
五筆的編碼範圍是a y的25個字母,從1位到4位的編碼,如果我們把五筆的編碼按字典序排序,形成乙個陣列如下 a,aa,aaa,aaaa,aaab,aaac,b,ba,baa,baaa,baab,baac yyyw,yyyx,yyyy,其中a的index為0,aa的index為1,aaa的index為...
五筆的編碼和解碼
q 五筆的編碼範圍是a y的25個字母,從1位到4位的編碼,如果我們把五筆的編碼按字典序排序,形成乙個陣列如下 a,aa,aaa,aaaa,aaab,aaac,b,ba,baa,baaa,baab,baac yyyw,yyyx,yyyy 其中a的index為0,aa的index為1,aaa的inde...
五筆的編碼和解碼
q 五筆的編碼範圍是a y的25個字母,從1位到4位的編碼,如果我們把五筆的編碼按字典序排序,形成乙個陣列如下 a,aa,aaa,aaaa,aaab,aaac,b,ba,baa,baaa,baab,baac yyyw,yyyx,yyyy 其中a的index為0,aa的index為1,aaa的inde...