python基础练习题(题目 字母识词)

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)

哈哈哈,真是妙,实现的思路确实很巧,避免了简单的去查,对数据做了分类,进一步减少流氓式的查询,见识了

原文地址:https://www.cnblogs.com/qgc1995/p/15150510.html