Python编程:单词识别与字典应用实战

需积分: 3 5 下载量 143 浏览量 更新于2024-08-03 收藏 364KB DOCX 举报
在Python编程中,本篇文档主要关注的是一个算法练习题,涉及到使用Python实现一个函数来识别并根据用户提供的首字母或前两个字母输出相应的英文星期名称。这个任务旨在帮助学习者熟悉字典数据结构的创建与使用,以及如何通过键访问字典中的值。 任务的核心是设计一个名为`get_weekday_from_initials`的函数,它接受一个字符串`initials`作为参数,该参数代表用户可能输入的一至两个英文字母。任务要求如下: 1. 创建字典:首先,需要构建一个包含7个键值对的字典,每个键代表一周中的一个英文单词的首字母(如"M"代表Monday,"T"代表Tuesday等),对应的值则是完整的单词。例如,`weekdays_dict = {"M": "Monday", ...}`。 2. 访问字典:当用户输入的字母与字典中的键匹配时,可以直接返回对应的值。对于"Monday"、"Wednesday"和"Friday",由于首字母唯一,可以通过单个字母作为键直接获取。 3. 复杂情况处理:对于"Tuesday"、"Thusday"、"Saturday"和"Sunday",用户需要输入连续的两个字母。如果用户输入的是"T",接下来输入"h"将返回"Thusday",输入"u"则返回"Tuesday";同样,如果输入"S",后续输入"a"得到"Saturday",输入"u"得到"Sunday"。这就需要在字典中嵌套另一个字典来存储这种多步骤的映射关系。 4. 错误处理:如果用户输入的字母不在预期范围内,函数应给出提示,告诉用户"请输入正确的字母"。 这个任务的代码实现可能会包含以下几个部分: ```python def get_weekday_from_initials(initials): weekdays_dict = { "M": "Monday", "T": {"h": "Thursday", "u": "Tuesday"}, "W": "Wednesday", "F": "Friday", "S": {"a": "Saturday", "u": "Sunday"}, # ...其他键值对 } # 检查输入的首字母或前两个字母 if initials in weekdays_dict: return weekdays_dict[initials] elif len(initials) == 2 and initials[0] in weekdays_dict and initials[1] in weekdays_dict[initials[0]]: return weekdays_dict[initials[0]][initials[1]] else: return "请输入正确的字母" # 示例调用 print(get_weekday_from_initials("M")) # 输出 "Monday" print(get_weekday_from_initials("Tu")) # 输出 "Tuesday" print(get_weekday_from_initials("Sa")) # 输出 "Saturday" print(get_weekday_from_initials("Z")) # 输出 "请输入正确的字母" ``` 通过完成这个练习,学习者不仅可以掌握字典的基本操作,还能理解递归字典在处理复杂逻辑中的应用,提升问题解决能力。