python基础练习题(题目 字母识词)
2021-08-16 23:51 第二个卿老师 阅读(199) 评论(0) 编辑 收藏 举报day22
---------------------------------------------------------------
实例031:字母识词
题目 请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。
分析:用字典来存储,在用字符串的查找方法,这里还得过滤字符串的大小写,再依次查找,如果没找到就删除这个key,最后剩下的只能是一个key
1 dic1 = {"monday":"周一","tuesday":"周二","wednesday":"周三","thursday":"周四","friday":"周五","saturday":"周六","sunnday":"周末"} 2 dic = dic1.copy() 3 n = 0 4 while True: 5 a = input(f"请输入星期第{n+1}个字母: ") 6 for i in list(dic.keys()): 7 if i[n] != a.lower(): 8 del dic[i] 9 n += 1 10 if len(dic)== 1: 11 print(f"你找到的是{list(dic)[0]},为{list(dic.values())[0]}") 12 break 13 elif len(dic) == 0: 14 print("没有找到,请重新输入") 15 dic = dic1.copy() 16 n = 0
看看答案:
1 weekT={'h':'thursday', 2 'u':'tuesday'} 3 weekS={'a':'saturday', 4 'u':'sunday'} 5 week={'t':weekT, 6 's':weekS, 7 'm':'monday', 8 'w':'wensday', 9 'f':'friday'} 10 a=week[str(input('请输入第一位字母:')).lower()] 11 if a==weekT or a==weekS: 12 print(a[str(input('请输入第二位字母:')).lower()]) 13 else: 14 print(a)
哈哈哈,真是妙,实现的思路确实很巧,避免了简单的去查,对数据做了分类,进一步减少流氓式的查询,见识了