用python实现英文字母和相应序数转换的方法

第一步:字母转数字

英文字母转对应数字相对简单,可以在命令行输入一行需要转换的英文字母,然后对每一个字母在整个字母表中匹配,并返回相应的位数,然后累加这些位数即可。过程中,为了使结果更有可读性,输出相邻数字间怎加了空格,每个对应原来单词间增加逗号。

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("输出结果为:%s"%temp)

第二步:数字转字母

数字转字母有个难点就是,当输入一行数字,如何才能合理地把它们每个相应位的数取出来。

才开始想到用正则匹配,定模式单元(\d+,{0,}),然后希望每个数字用.groups()形式返回一个元组(tuple),但限于要输入数字的个数位置,没找到好的匹配方式。

然后用到了split()函数,用相应的分隔符分割一段字符串之后,将值已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("输出结果是:%s"%temp)

完整代码

#-*- coding: utf-8 -*-
import re
def main():
 ss=input("请选择:\n1.字母->数字\
    \n2.数字->字母\n")
 if ss=='1':
 print("请输入字母: ")
 fun1()
 elif ss=='2':
 print("请输入数字:")
 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("输出结果为:%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("输出结果是:%s"%temp)

if __name__ == '__main__':
 main()

便可利用该python代码实现英文字母和对应数字的相互转换。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Python中用于转换字母为小写的lower()方法使用简介

    lower()方法返回所有基于大小写的字符被转换为小写字符串的一个副本. 语法 以下是lower()方法的语法: str.lower() 参数 NA 返回值 此方法返回的所有基于大小写字符被转化为小写字符串的一个副本. 例子 下面的例子显示了lower()方法的使用. #!/usr/bin/python str = "THIS IS STRING EXAMPLE....WOW!!!"; print str.lower(); 当我们运行上面的程序,它会产生以下结果: this is st

  • 用python实现英文字母和相应序数转换的方法

    第一步:字母转数字 英文字母转对应数字相对简单,可以在命令行输入一行需要转换的英文字母,然后对每一个字母在整个字母表中匹配,并返回相应的位数,然后累加这些位数即可.过程中,为了使结果更有可读性,输出相邻数字间怎加了空格,每个对应原来单词间增加逗号. c="abcdefghijklmnopqrstuvwxyz" temp='' list=[] s=input() num=len(s) list.append(s) for i in range(0,num): if list[0][i]=

  • C#中把英文字母转换为大写或小写的方法

    将字母全部转换为大写或小写,在C#编程中是一个非常常见的功能.在开发过程中,经常需要验证用户登录,用户在输入用户名时可能不区分大小写,如果我们不对字母进行大写或小写的转换,那用户即使输入了正确的密码,可能也无法成功登录.另外,我们有的时候会用字符串来作为操作代码,比如 action="Create",如果我在后面比较的时候写成了"create"或"CREATE",那都是有问题的. 所以,一种最好的解决办法就是,将字符串统一转换大写或小写. 字母转

  • 在Python的struct模块中进行数据格式转换的方法

    Python是一门非常简洁的语言,对于数据类型的表示,不像其他语言预定义了许多类型(如:在C#中,光整型就定义了8种),它只定义了六种基本类型:字符串,整数,浮点数,元组,列表,字典.通过这六种数据类型,我们可以完成大部分工作.但当Python需要通过网络与其他的平台进行交互的时候,必须考虑到将这些数据类型与其他平台或语言之间的类型进行互相转换问题.打个比方:C++写的客户端发送一个int型(4字节)变量的数据到Python写的服务器,Python接收到表示这个整数的4个字节数据,怎么解析成Py

  • python遍历小写英文字母的方法

    在c.c++等语言中,可以用字符+1的for循环来遍历小写的26个英文字母,但是由于python语言的特殊性,通过a + 1这种代码并不能成功遍历,以下是在python中遍历英文字母的简洁代码: import string for word in string.lowercase: print word 以上这篇python遍历小写英文字母的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • Python如何将给定字符串中的大写英文字母按以下对应规则替换

    目录 问题描述 解题思路 最终答案 python实现26个英文字母按规则输出 问题描述 输入样例: Only the 11 CAPItal LeTtERS are replaced 输出样例: Only the 11 XZKItal OeGtVIH are replaced 解题思路 首先想到的是使用字典匹配字符然后遍历替换,其次想到的是使用ASCLL码,后者更为方便简单. 思路一 inp = input() dist = ['A', 'B', 'C', 'D', 'E', 'F', 'G',

  • Python简单过滤字母和数字的方法小结

    本文实例讲述了Python简单过滤字母和数字的方法.分享给大家供大家参考,具体如下: 实例1 crazystring = 'dade142.!0142f[., ]ad' # 只保留数字 new_crazy = filter(str.isdigit, crazystring) print(''.join(list(new_crazy))) #输出:1420142 # 只保留字母 new_crazy = filter(str.isalpha, crazystring) print(''.join(l

  • python将一个英文语句以单词为单位逆序排放的方法

    例如"I am a boy",逆序排放后为"boy a am I"所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符. list_number = list(input().split(' ')) #由于reverse无法对字符串进行操作,故对输入字符串以空格为单位分割,然后转为列表 list_number.reverse() print(" ".join(list_number)) #以" "为单位对列表中的

  • C语言中利用封装好的函数实现英文字母的大小写转换

    在C语言中,利用tolower和toupper两个函数实现英文字母的大小写之间的转换 范例1:将s字符串内的小写字母转换成大写字母 #include <ctype.h> int main() { char s[] = "aBcDeFgH"; int i; printf("before toupper() : %s\n", s); for(i = 0; i < sizeof(s); i++) s[i] = toupper(s[i]); printf(

  • Java统计输入字符的英文字母、空格、数字和其它

    题目:输入一行字符,分别统计出其中英文字母.空格.数字和其它字符的个数. 程序分析:利用while语句,条件为输入的字符不为 '\n '. 程序设计: import java.util.Scanner; public class ex7 { public static void main(String args[]) { System.out.println("请输入字符串:"); Scanner scan=new Scanner(System.in); String str=scan

  • MySQL中查询的有关英文字母大小写问题的分析

    mysql数据库在做查询时候,有时候是英文字母大小写敏感的,有时候又不是的,主要是由mysql的字符校验规则的设置决定的,通常默认是不支持的大小写字母敏感的.  1. 什么是字符集和校验规则? 字符集是一套符号和编码.校对规则是在字符集内用于比较字符的一套规则.任何一个给定的字符集至少有一个校对规则,它可能有几个校对规则.要想列出一个字符集的校对规则,使用SHOW COLLATION语句. 校对规则一般有这些特征: 两个不同的字符集不能有相同的校对规则.     每个字符集有一个默认校对规则.例

随机推荐