You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python从.txt词典中找出Spelling Bee指定字母的有效单词?

修正纽约时报Spelling Bee游戏答案查找工具的代码问题

你的代码当前问题出在判断逻辑上:{middle_letter, l1, l2, l3, l4, l5, l6} <= set(w) 是检查给定字母集合是单词字母集合的子集,这意味着单词可以包含额外的字母,完全不符合“仅由这7个字母组成”的规则。

修正后的代码

# 收集输入的7个字母
middle_letter = input("输入中间字母: ")
other_letters = [input(f"输入第{i}个字母: ") for i in range(1,7)]
allowed_letters = set([middle_letter] + other_letters)

with open('words.txt') as f:
    valid_words = []
    for line in f:
        word = line.strip().lower()  # 统一转小写,避免大小写匹配问题
        # 同时满足三个核心规则
        if len(word) >= 4 and middle_letter.lower() in word and set(word).issubset(allowed_letters):
            valid_words.append(word)
    print(valid_words)

关键修正说明

  • 将允许使用的7个字母存入allowed_letters集合,简化后续判断逻辑
  • 新增单词长度≥4的判断条件
  • 用set(word).issubset(allowed_letters)替代原条件,确保单词的所有字母都来自允许的7个字母,无额外字符
  • 统一转小写处理,避免词典中单词大小写不一致导致的匹配遗漏

内容的提问来源于stack exchange,提问作者simon nawara

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 05:25:23