亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

用python實現(xiàn)英文字母和相應(yīng)序數(shù)轉(zhuǎn)換

系統(tǒng) 2241 0

用python實現(xiàn)英文字母和相應(yīng)序數(shù)轉(zhuǎn)換


第一步:字母轉(zhuǎn)數(shù)字

英文字母轉(zhuǎn)對應(yīng)數(shù)字相對簡單,可以在命令行輸入一行需要轉(zhuǎn)換的英文字母,然后對每一個字母在整個字母表中匹配,并返回相應(yīng)的位數(shù),然后累加這些位數(shù)即可。過程中,為了使結(jié)果更有可讀性,輸出相鄰數(shù)字間怎加了空格,每個對應(yīng)原來單詞間增加逗號。

            
              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)字母有個難點就是,當(dāng)輸入一行數(shù)字,如何才能合理地把它們每個相應(yīng)位的數(shù)取出來。

  1. 才開始想到用正則匹配,定模式單元(\d+,{0,}),然后希望每個數(shù)字用.groups()形式返回一個元組(tuple),但限于要輸入數(shù)字的個數(shù)位置,沒找到好的匹配方式。
  2. 然后用到了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
              
              
                (
              
              "請選擇
              
                :
              
              \n1
              
                .
              
              字母
              
                -
              
              
                >
              
              數(shù)字\
       \n2
              
                .
              
              數(shù)字
              
                -
              
              
                >
              
              字母\n"
              
                )
              
              
                if
              
               ss
              
                ==
              
              
                '1'
              
              
                :
              
              
                print
              
              
                (
              
              
                "請輸入字母: "
              
              
                )
              
              
		fun1
              
                (
              
              
                )
              
              
                elif
              
               ss
              
                ==
              
              
                '2'
              
              
                :
              
              
                print
              
              
                (
              
              
                "請輸入數(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代碼實現(xiàn)英文字母和對應(yīng)數(shù)字的相互轉(zhuǎn)換。
用python實現(xiàn)英文字母和相應(yīng)序數(shù)轉(zhuǎn)換_第1張圖片
用python實現(xiàn)英文字母和相應(yīng)序數(shù)轉(zhuǎn)換_第2張圖片

**附加

1.其他方法

除了以上這種方法,還可以借助ascii碼連續(xù)性來轉(zhuǎn)換字母和相應(yīng)的序數(shù)。

字母轉(zhuǎn)數(shù)字

            
              s
              
                =
              
              
                input
              
              
                (
              
              
                "請輸入字母"
              
              
                )
              
              
temp
              
                =
              
              
                ''
              
              
                for
              
               i 
              
                in
              
              
                range
              
              
                (
              
              
                0
              
              
                ,
              
              
                len
              
              
                (
              
              s
              
                )
              
              
                )
              
              
                :
              
              
                if
              
               s
              
                [
              
              i
              
                ]
              
              
                ==
              
              
                ' '
              
              
                :
              
              
		temp
              
                +=
              
              
                ','
              
              
                else
              
              
                :
              
              
		m
              
                =
              
              
                ord
              
              
                (
              
              s
              
                [
              
              i
              
                ]
              
              
                )
              
              
                -
              
              
                96
              
              
		temp
              
                +=
              
              
                str
              
              
                (
              
              m
              
                )
              
              
		temp
              
                +=
              
              
                " "
              
              
                print
              
              
                (
              
              
                "輸出結(jié)果為:%s\n"
              
              
                %
              
              temp
              
                )
              
            
          

數(shù)字轉(zhuǎn)字母

            
              s
              
                =
              
              
                input
              
              
                (
              
              
                "請輸入數(shù)字:"
              
              
                )
              
              
s_list
              
                =
              
              s
              
                .
              
              split
              
                (
              
              
                ','
              
              
                )
              
              
temp
              
                =
              
              
                ''
              
              
                for
              
               i 
              
                in
              
              
                range
              
              
                (
              
              
                0
              
              
                ,
              
              
                len
              
              
                (
              
              s_list
              
                )
              
              
                )
              
              
                :
              
              
                if
              
               s_list
              
                [
              
              i
              
                ]
              
              
                ==
              
              
                ' '
              
              
                :
              
              
		temp
              
                +=
              
              
                ' '
              
              
                else
              
              
                :
              
              
		m
              
                =
              
              
                chr
              
              
                (
              
              
                int
              
              
                (
              
              s_list
              
                [
              
              i
              
                ]
              
              
                )
              
              
                +
              
              
                96
              
              
                )
              
              
		temp
              
                +=
              
              m

              
                print
              
              
                (
              
              
                "輸出結(jié)果為:%s"
              
              
                %
              
              temp
              
                )
              
            
          

2.其他啟發(fā)

用ASCII碼來實現(xiàn)字母和數(shù)字轉(zhuǎn)換是一個很好的途徑,因為她們都有連續(xù)的特性,加減之后會得到對應(yīng)的值。

  • 例如:實現(xiàn)16進制數(shù)轉(zhuǎn)10進制
            
              s
              
                =
              
              
                input
              
              
                (
              
              
                "請輸入16進制數(shù)[格式為0xaaa]:\n"
              
              
                )
              
              
s
              
                =
              
              s
              
                [
              
              
                2
              
              
                :
              
              
                ]
              
              
result
              
                =
              
              
                0
              
              
num
              
                =
              
              n
              
                =
              
              
                len
              
              
                (
              
              s
              
                )
              
              
                for
              
               i 
              
                in
              
              
                range
              
              
                (
              
              
                0
              
              
                ,
              
              n
              
                )
              
              
                :
              
              
                try
              
              
                :
              
              
                if
              
              
                (
              
              
                int
              
              
                (
              
              s
              
                [
              
              num
              
                -
              
              
                1
              
              
                ]
              
              
                )
              
              
                in
              
              
                range
              
              
                (
              
              
                0
              
              
                ,
              
              
                9
              
              
                )
              
              
                )
              
              
                :
              
              
			result
              
                +=
              
              
                int
              
              
                (
              
              s
              
                [
              
              num
              
                -
              
              
                1
              
              
                ]
              
              
                )
              
              
                *
              
              
                pow
              
              
                (
              
              
                16
              
              
                ,
              
              n
              
                -
              
              num
              
                )
              
              
			num
              
                -=
              
              
                1
              
              
                except
              
              
                :
              
              
                if
              
              
                (
              
              
                ord
              
              
                (
              
              s
              
                [
              
              num
              
                -
              
              
                1
              
              
                ]
              
              
                )
              
              
                in
              
              
                range
              
              
                (
              
              
                97
              
              
                ,
              
              
                101
              
              
                )
              
              
                )
              
              
                :
              
              
			result
              
                +=
              
              
                (
              
              
                ord
              
              
                (
              
              s
              
                [
              
              num
              
                -
              
              
                1
              
              
                ]
              
              
                )
              
              
                -
              
              
                87
              
              
                )
              
              
                *
              
              
                pow
              
              
                (
              
              
                16
              
              
                ,
              
              n
              
                -
              
              num
              
                )
              
              
			num
              
                -=
              
              
                1
              
              
                elif
              
              
                (
              
              
                ord
              
              
                (
              
              s
              
                [
              
              num
              
                -
              
              
                1
              
              
                ]
              
              
                )
              
              
                in
              
              
                range
              
              
                (
              
              
                65
              
              
                ,
              
              
                69
              
              
                )
              
              
                )
              
              
                :
              
              
			result
              
                +=
              
              
                (
              
              
                ord
              
              
                (
              
              s
              
                [
              
              num
              
                -
              
              
                1
              
              
                ]
              
              
                )
              
              
                -
              
              
                55
              
              
                )
              
              
                *
              
              
                pow
              
              
                (
              
              
                16
              
              
                ,
              
              n
              
                -
              
              num
              
                )
              
              
			num
              
                -=
              
              
                1
              
              
                print
              
              
                (
              
              result
              
                )
              
            
          

當(dāng)然,python提供了轉(zhuǎn)十進制和十六進制之間的函數(shù):

            
              
                hex
              
              
                (
              
              
                10
              
              
                )
              
              
                #10進制轉(zhuǎn)16進制     結(jié)果為:a
              
              
                int
              
              
                (
              
              
                'a'
              
              
                ,
              
              
                16
              
              
                )
              
                int
              
              
                (
              
              
                '0xa'
              
              
                ,
              
              
                16
              
              
                )
              
              
                #16進制轉(zhuǎn)10進制     結(jié)果為:10
              
            
          

更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 曰本性l交片视频视频 | 国产精品第三页在线看 | 免费播放毛片 | 久久网欧美| 五月婷婷开心综合 | 日韩精品一区二区三区免费观看 | 美国免费三片在线观看 | 成人看片免费无限观看视频 | 精品免费国产一区二区三区 | 国产区视频在线观看 | 久久精品国产亚洲沈樵 | www色网站| 久久久久久久蜜桃 | 久久视频免费看 | 成人免费网站视频www | 成人9久久国产精品品 | 91精品视频网 | 婷婷免费视频 | 伊人高清视频 | 香蕉国产人午夜视频在线观看 | 在线欧美不卡 | 天天爽夜夜爽夜夜爽精品视频 | 涩色网站 | 久久国内精品自在自线观看 | 亚洲videos | 亚洲最大成人网 色香蕉 | 欧美亚洲日本国产综合网 | 日韩一区二区三区免费视频 | 中文字幕123区 | 亚洲一区二区在线免费观看 | 九色视频网站 | 在线观看日本中文字幕 | a毛片视频免费观看影院 | 国产美女免费观看 | 成熟女人50岁一级毛片不卡 | 国产精品久久久久久久成人午夜 | 色播影院性播影院私人影吧 | 婷婷在线视频观看 | 网站一级片 | 天天操天天干天天干 | 国产精品自拍亚洲 |