python九宫格输入法代码
时间: 2024-12-25 13:19:14 浏览: 2
### Python 实现九宫格输入法
为了实现九宫格输入法的功能,可以按照如下逻辑编写代码:
定义一个函数 `nine_key_input` 来处理不同模式下的输入转换。该函数接收字符串作为参数并返回最终的输出结果。
```python
def nine_key_input(input_str):
mapping = {
'2': "abc", '3': "def",
'4': "ghi", '5': "jkl", '6': "mno",
'7': "pqrs", '8': "tuv", '9': "wxyz"
}
mode = 'number' # 默认为数字模式
result = []
prev_char = ''
count = 0
for char in input_str:
if char == '#':
mode = 'letter' if mode == 'number' else 'number'
continue
elif char == '/':
break
elif mode == 'number':
if char.isdigit():
result.append(char)
elif mode == 'letter':
if not char.isdigit() or int(char) not in range(2, 10):
continue
current_chars = mapping[char]
if prev_char != char:
count = (count + 1) % len(current_chars)
prev_char = char
letter = current_chars[count - 1]
result.append(letter)
return ''.join(result)
if __name__ == "__main__":
test_cases = [
"#4/5#", "/#/#/", "#222#", "####2222/"
]
for case in test_cases:
print(f"Input: {case}, Output: '{nine_key_input(case)}'")
```
此段程序实现了基本功能[^2],即支持英文字母和数字之间的切换,并能够正确解析连续按键产生的字符序列[^4]。对于不同的测试用例,这段代码能给出相应的输出结果。
阅读全文