如何利用自定义字典与for循环实现字母到电话代码词的转换?
电话代码消息转换程序实现方案
需求与示例
该程序将使用电话代码翻译消息。
请输入您的消息?I love you, mom!
India Lima Oscar Victor Echo Yankee Oscar Uniform Mike Oscar Mike
你需要实现上述功能,避免逐个替换字母的低效方式,用更简洁的批量转换方法,且必须使用以下字母映射字典:
phonetic_code = { "A": "Alfa", "B": "Bravo", "C": "Charlie", "D": "Delta", "E": "Echo", "F": "Foxtrot", "G": "Golf", "H": "Hotel", "I": "India", "J": "Juliett", "K": "Kilo", "L": "Lima", "M": "Mike", "N": "November", "O": "Oscar", "P": "Papa", "Q": "Quebec", "R": "Romeo", "S": "Sierra", "T": "Tango", "U": "Uniform", "V": "Victor", "W": "Whiskey", "X": "X-ray", "Y": "Yankee", "Z": "Zulu" }
实现代码(Python)
# 定义电话代码映射字典 phonetic_code = { "A": "Alfa", "B": "Bravo", "C": "Charlie", "D": "Delta", "E": "Echo", "F": "Foxtrot", "G": "Golf", "H": "Hotel", "I": "India", "J": "Juliett", "K": "Kilo", "L": "Lima", "M": "Mike", "N": "November", "O": "Oscar", "P": "Papa", "Q": "Quebec", "R": "Romeo", "S": "Sierra", "T": "Tango", "U": "Uniform", "V": "Victor", "W": "Whiskey", "X": "X-ray", "Y": "Yankee", "Z": "Zulu" } print("该程序将使用电话代码翻译消息。") message = input("请输入您的消息?") result = [] # 遍历消息每个字符,统一转大写匹配字典键 for char in message.upper(): if char in phonetic_code: result.append(phonetic_code[char]) # 用双空格连接结果并输出 print(" ".join(result))
代码说明
- 先将输入消息转为大写,确保和字典的键格式统一,避免大小写不匹配问题
- 用for循环逐个遍历字符,只处理字典中存在的字母,自动忽略标点、空格等非目标字符
- 用列表收集转换后的单词,最后通过
join方法拼接成符合示例格式的输出,比逐个字符串拼接更高效
内容的提问来源于stack exchange,提问作者cabbage_corgi
相关产品推荐
相关产品推荐

