用python實(shí)現(xiàn)英文字母和相應(yīng)序數(shù)轉(zhuǎn)換的方法
第一步:字母轉(zhuǎn)數(shù)字
英文字母轉(zhuǎn)對(duì)應(yīng)數(shù)字相對(duì)簡(jiǎn)單,可以在命令行輸入一行需要轉(zhuǎn)換的英文字母,然后對(duì)每一個(gè)字母在整個(gè)字母表中匹配,并返回相應(yīng)的位數(shù),然后累加這些位數(shù)即可。過(guò)程中,為了使結(jié)果更有可讀性,輸出相鄰數(shù)字間怎加了空格,每個(gè)對(duì)應(yīng)原來(lái)單詞間增加逗號(hào)。
c="abcdefghijklmnopqrstuvwxyz" temp='' list=[] s=input() num=len(s) list.append(s) for i in range(0,num): if list[0][i]==' ': temp+=',' else: for r in range(1,26): if list[0][i]==c[int(r)-1]: temp+=str(r) temp+=' ' print("輸出結(jié)果為:%s"%temp)
第二步:數(shù)字轉(zhuǎn)字母
數(shù)字轉(zhuǎn)字母有個(gè)難點(diǎn)就是,當(dāng)輸入一行數(shù)字,如何才能合理地把它們每個(gè)相應(yīng)位的數(shù)取出來(lái)。
才開(kāi)始想到用正則匹配,定模式單元(\d+,{0,}),然后希望每個(gè)數(shù)字用.groups()形式返回一個(gè)元組(tuple),但限于要輸入數(shù)字的個(gè)數(shù)位置,沒(méi)找到好的匹配方式。
然后用到了split()函數(shù),用相應(yīng)的分隔符分割一段字符串之后,將值已list形式返回。
c="abcdefghijklmnopqrstuvwxyz" temp='' s=input() s_list=s.split(",") num=len(s_list) for i in range(0,num): if s_list[i]==' ': temp+=' ' else: result=c[int(s_list[i])-1] temp+=result print("輸出結(jié)果是:%s"%temp)
完整代碼
#-*- coding: utf-8 -*- import re def main(): ss=input("請(qǐng)選擇:\n1.字母->數(shù)字\ \n2.數(shù)字->字母\n") if ss=='1': print("請(qǐng)輸入字母: ") fun1() elif ss=='2': print("請(qǐng)輸入數(shù)字:") fun2() def fun1(): c="abcdefghijklmnopqrstuvwxyz" temp='' list=[] s=input() num=len(s) list.append(s) for i in range(0,num): if list[0][i]==' ': temp+=',' else: for r in range(1,26): if list[0][i]==c[int(r)-1]: temp+=str(r) temp+=' ' print("輸出結(jié)果為:%s"%temp) def fun2(): c="abcdefghijklmnopqrstuvwxyz" temp='' s=input() s_list=s.split(",") num=len(s_list) for i in range(0,num): if s_list[i]==' ': temp+=' ' else: result=c[int(s_list[i])-1] temp+=result print("輸出結(jié)果是:%s"%temp) if __name__ == '__main__': main()
便可利用該python代碼實(shí)現(xiàn)英文字母和對(duì)應(yīng)數(shù)字的相互轉(zhuǎn)換。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python英文文章詞頻統(tǒng)計(jì)(14份劍橋真題詞頻統(tǒng)計(jì))
這篇文章主要介紹了Python英文文章詞頻統(tǒng)計(jì)(14份劍橋真題詞頻統(tǒng)計(jì)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10Python 循環(huán)函數(shù)詳細(xì)介紹
循環(huán)用于重復(fù)執(zhí)行一些程序塊。從上一講的選擇結(jié)構(gòu),我們已經(jīng)看到了如何用縮進(jìn)來(lái)表示程序塊的隸屬關(guān)系。循環(huán)也會(huì)用到類(lèi)似的寫(xiě)法。感興趣得小伙伴請(qǐng)參考下面文字得具體內(nèi)容2021-09-09Python實(shí)現(xiàn)簡(jiǎn)單登錄驗(yàn)證
這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)簡(jiǎn)單登錄驗(yàn)證的相關(guān)資料,需要的朋友可以參考下2016-04-04python實(shí)現(xiàn)獲取序列中最小的幾個(gè)元素
這篇文章主要介紹了python實(shí)現(xiàn)獲取序列中最小的幾個(gè)元素,是非常實(shí)用的技巧,需要的朋友可以參考下2014-09-09在SAE上部署Python的Django框架的一些問(wèn)題匯總
這篇文章主要介紹了在SAE上部署Python的Django框架的一些問(wèn)題匯總,SAE是新浪的一個(gè)在線(xiàn)APP部署平臺(tái),并且對(duì)Python應(yīng)用提供相關(guān)支持,需要的朋友可以參考下2015-05-05詳解Python中sorted()和sort()的使用與區(qū)別
眾所周知,在Python中常用的排序函數(shù)為sorted()和sort()。本文將詳細(xì)介紹sorted()和sort()方法的代碼示例,并解釋兩者之間的區(qū)別,感興趣的可以了解一下2022-03-03Python實(shí)現(xiàn)人生重開(kāi)模擬器小游戲講解
這篇文章主要介紹了Python實(shí)現(xiàn)人生重開(kāi)模擬器小游戲,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2023-01-01