九宫格键盘

class Solution:
    def NineGridInputMethod(self, input_str):
        dic = {'1': ',.', '2': 'abc', '3': 'def', '4': 'ghi', '5': 'jkl',
               '6': 'mno', '7': 'pqrs', '8': 'tuv', '9': 'wxyz'}
        num_mode = True  
        length = len(input_str)
        i = 0
        result = ""
        while i < length:
            s: str = input_str[i]
            if s == '#':
                num_mode = not num_mode
                i += 1
                continue
            if s == '/':
                i += 1
                continue
            if num_mode:
                result += s
                i += 1
                continue
            if s == '0':
                result += " "
                i += 1
                continue
            cnt = 0
            while i < length and input_str[i] == s:
                cnt += 1
                i += 1
            string = dic[s]
            result += string[cnt % len(string) - 1]
        return result
 
if __name__ == "__main__":
    line = str(input().strip())
    function = Solution()
    results = function.NineGridInputMethod(line)
    print(results)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值