模仿手机九宫格输入法实现单词字母转换为数字

项目介绍

手机的九宫格输入法中,输入数字的键位是可以和字母键位对应的。如“2”对应“ABC”,“9”对应“WXYZ”,现假设“1”和“0”为空字符,以此规则试设计一个程序,将单词用一串数字来进行表示。
举例:
输入:cat(不区分大小写)
输出:228

思路

将输入字符串利用upper()方法将所有字母大写,存储到列表中。设置一个空列表,然后对存储字母的列表进行遍历,转换成对应的数字存储到空列表中,输出列表即可。

代码

string1 = str(input("enter:"))
s = string1.upper()
def trans(s):
    s_list = list(s)
    b_list = list()
    for j in range(len(s_list)):
        if ord(s_list[j]) >= ord('A') and ord(s_list[j]) <= ord('C'):
            b_list.append(2)
        elif ord(s_list[j]) >= ord('D') and ord(s_list[j]) <= ord('F'):
            b_list.append(3)
        elif ord(s_list[j]) >= ord('G') and ord(s_list[j]) <= ord('I'):
            b_list.append(4)
        elif ord(s_list[j]) >= ord('J') and ord(s_list[j]) <= ord('L'):
            b_list.append(5)
        elif ord(s_list[j]) >= ord('M') and ord(s_list[j]) <= ord('O'):
            b_list.append(6)
        elif ord(s_list[j]) >= ord('P') and ord(s_list[j]) <= ord('S'):
            b_list.append(7)
        elif ord(s_list[j]) >= ord('T') and ord(s_list[j]) <= ord('V'):
            b_list.append(8)
        elif ord(s_list[j]) >= ord('W') and ord(s_list[j]) <= ord('Z'):
           b_list.append(9)
        else:
            break
    c = map(str, b_list)
    print("".join(c))
trans(s)

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容