【id:642】【10分】F. 发短信
题目描述
在一些旧的手机上,可以用数字键盘发送短信。因为每个键都有多个相关联的字母,所以大多数字母都需要多次按键。按一次数字将生成该键列出的第一个字符。按数字2、3、4或5次会产生第二个、第三个、第四个或第五个字符。键和符号的对应关系如下:
键 | 符号 |
1 | . ,?!: |
2 | A B C |
3 | D E F |
4 | G H I |
5 | J K L |
6 | M N O |
7 | P Q R S |
8 | T U V |
9 | W X Y Z |
0 | 空格 |
请构造一个字典,表示字母或符号到生成它的所需按键的映射。编写程序,显示用户输入消息所需的按键。
输入
Hello, World!
用户从键盘输入一行字符
输出
4433555555666110966677755531111
显示用户输入信息所需的按键
答案
dic1={".":1,",":11,"?":111,"!":1111,":":11111,'A':2,"B":22,"C":222,"D":3,"E":33,"F":333,"G":4,"H":44,"I":444,"J":5,"K":55,"L":555,"M":6,"N":66,"O":666,"P":7,"Q":77,"R":777,"S":7777,"T":8,"U":88,"V":888,"W":9,"X":99,"Y":999,"Z":9999," ":0,'a':2,"b":22,"c":222,"d":3,"e":33,"f":333,"g":4,"h":44,"i":444,"j":5,"k":55,"l":555,"m":6,"n":66,"o":666,"p":7,"q":77,"r":777,"s":7777,"t":8,"u":88,"v":888,"w":9,"x":99,"y":999,"z":9999}
a=list(input())
b=[]
for x in a:
b.append(dic1[x])
strs = [str(l) for l in b]
print("".join(strs))