【九宫格按键输入法】Python 实现

360影视 日韩动漫 2025-05-16 11:20 2

摘要:def input_screen_display:digit_to_letters = {'0': [' '],'2': ['a', 'b', 'c'],'3': ['d', 'e', 'f'],'4': ['g', 'h', 'i'],'5': ['j',

def input_screen_display:digit_to_letters = {'0': [' '],'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']}is_digit_mode = Trueresult = current_digit = Nonecount = 0input_str = input("请输入字符序列(0-9、#、/):")for char in input_str:if char == '#':# 切换模式前处理之前的连续数字if not is_digit_mode and current_digit is not None:letters = digit_to_letters.get(current_digit, )if letters:letter = letters[(count - 1) % len(letters)]result.append(letter)current_digit = Nonecount = 0is_digit_mode = not is_digit_modeelif char == '/':if not is_digit_mode:if current_digit is not None:letters = digit_to_letters.get(current_digit, )if letters:letter = letters[(count - 1) % len(letters)]result.append(letter)current_digit = Nonecount = 0else:if is_digit_mode:result.append(char)else:if char in digit_to_letters:if char == current_digit:count += 1else:if current_digit is not None:letters = digit_to_letters.get(current_digit, )if letters:letter = letters[(count - 1) % len(letters)]result.append(letter)current_digit = charcount = 1# 处理剩余的连续数字if not is_digit_mode and current_digit is not None:letters = digit_to_letters.get(current_digit, )if letters:letter = letters[(count - 1) % len(letters)]result.append(letter)print("屏幕显示结果:", ''.join(result))# 调用函数input_screen_display

来源:小杨说科技

相关推荐