Python重复单词检测程序开发问题:现有代码仅能识别连续输入的重复项
问题排查
- 变量名拼写错误:
- 定义的存储列表变量为
list,但追加元素时错写为lista.append() - 定义的临时变量为
double,条件判断时错写为douple
- 定义的存储列表变量为
- 逻辑不符合需求:现有代码仅将当前输入的单词和上一次输入的单词做对比,只能识别连续重复的情况,没有遍历所有历史输入判断单词是否已经出现过
- 不规范写法:使用Python内置关键字
list作为自定义变量名,会覆盖内置的列表类型功能,可能引发后续错误
修改方案
将历史输入的单词存入集合(查询效率比列表更高),每次输入新单词后直接判断是否已存在于集合中即可,修改后的代码如下:
word_history = set() while True: word = input("word: ") if word in word_history: print(f"You gave {len(word_history)+1} words") break word_history.add(word)
如果需要保留所有历史输入的顺序,也可以用列表实现:
word_history = [] while True: word = input("word: ") if word in word_history: print(f"You gave {len(word_history)+1} words") break word_history.append(word)
内容的提问来源于stack exchange,提问作者Espejito
相关产品推荐
相关产品推荐

