python基础练习题(题目 字母识词)
阅读原文时间:2022年06月13日阅读:1

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)

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