周一到周日的英文依次为:Monday、Tuesday、Wednesday、Thusday、Friday、Saturday和Sunday,这些单词的首字母基本都不相同,在这7个单词的范围之内,通过第一或前两个字母即可判断对应的是哪个单词。
本实例要求编写程序,实现根据第一或前两个字母输出Monday、Tuesday、Wednesday、Thusday、Friday、Saturday和Sunday之中完整单词的功能。
实例目标
l 熟练地创建字典
l 熟练地通过键访问字典中的值
实例分析
本实例的完整单词包含7个,它们分别是Monday、Tuesday、Wednesday、Thusday、Friday、Saturday和Sunday。其中,Monday、Wednesday、Friday可根据用户输入的首字母判断, Tuesday和Thusday、Saturday和Sunday需根据用户连续输入两次字母才能进一步判断,具体规则如下:
(1)若用户第一次输入的字母为 “m”、“w”和“f”,则直接返回“Monday”、“ Wednesday”和“Friday”;
(2)若用户第一次输入“t”,需要再输入第2个字母进行判断,输入“h”返回“Thusday”,输入“u”返回“Tuesday”;
(3)若用户第一次输入“s”,需要再输入第2个字母进行判断,输入“a”返回“Saturday”,输入“u”返回“Sunday”;
(4)若用户第一次输入其它字母,则提示用户“请输入正确的字母”。
从以上分析可知,第一个或第二个字母可以作为获取完整单词的键,因此这里可以创建一个包含7个键值对的字典,其中,键“m”、“w”和“f”对应的值为“Monday”、“Wednesday”和“Friday”,则键“t”和“s”对应的值是字典{'h': 'thursday', 'u': 'tuesday'}和{'a': 'saturday', 'u': 'sunday'}。
该回答通过自己思路及引用到各个渠道搜索综合及思考,得到内容具体如下:
以下是一个Python程序,用于实现根据用户输入的单词首字母或前两个字母来输出完整单词的功能,可以根据自己的代码进行优化:
具体代码如下:
# 创建字典,键为单词的第一个或前两个字母,值为完整单词
words_dict = {
"m": "Monday",
"w": "Wednesday",
"f": "Friday",
"th": "Thusday",
"tu": "Tuesday",
"sa": "Saturday",
"su": "Sunday"
}
# 获取用户输入的单词首字母或前两个字母
user_input = input("请输入单词的首字母或前两个字母:")
# 根据用户输入的字母查找对应的完整单词
if user_input in words_dict:
print(words_dict[user_input])
elif user_input[0] == "t" and user_input[1] in ["h", "u"]:
print(words_dict[user_input[:2]])
elif user_input[0] == "s" and user_input[1] in ["a", "u"]:
print(words_dict[user_input[:2]])
else:
print("请输入正确的字母。")
【上面代码的解释】
在程序中,首先创建一个包含7个键值对的字典,键为单词的第一个或前两个字母,值为完整单词。然后获取用户输入的单词首字母或前两个字母,并通过判断来查找对应的完整单词。如果用户输入的是字典中已有的键,则直接输出对应的完整单词;如果用户输入的是“t”或“s”,则需要再输入一个字母才能确定完整的单词;如果用户输入的不是字典中已有的键,则输出提示信息。
如果以上回答对您有所帮助,点击一下采纳该答案~谢谢
在代码判断 num_1 是 h 或者 u 的部分 加上对num(第一次输入字母)的判断
因为你在对第二次输入字母(num_1)判断的时候 忽略了第一次输入字母的条件 所以会发生错误
具体代码如下:
week_1 = { 'h':' Thursday','u':'Tuesday'}
week_2 = { 'a' : 'Saturday' , 'u':'Sunday'}
week = {'m' : 'Monday','w': 'Wednesday','f' :'Friday','t' : 'week_1','s' :'week_2' }
num = input('请输入第一次输入的字母:')
if num == 'm' or num == 'w' or num == 'f':
print(week[num])
elif num not in week :
print("请输入正确的字母")
else:
num_1 = input('请输入第二次输入的字母:')
if num == 't' and (num_1 == 'h' or num_1 == 'u'):
print(week_1[num_1])
else:
print(week_2[num_1])
测试结果如下: