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

为何判断Pangram时仅set长度有效,直接用字符串长度无效?

为什么判断Pangram时用字符串长度无效,而集合长度有效?

Pangram的核心要求是包含英文字母表中全部26个不同字母,对字符串的总长度没有限制——句子里可以重复出现字母,总长度只会≥26,不会刚好等于26(除非是完全无重复的26个字母组成的句子,但这种情况极少)。

无效代码的问题

def checkIfPangram(sentence):
    return len(sentence) == 26

print(checkIfPangram('thequickbrownfoxjumpsoverthelazydog'))

这段代码判断的是「字符串总字符数刚好等于26」,但示例里的Pangram句子长度远大于26,所以直接返回False。就算有个字符串长度是26,也可能是重复的单一字母(比如26个"a"),根本不满足Pangram的要求。这个逻辑从根上就错了。

有效代码的逻辑

def checkIfPangram(sentence):
    return len(set(sentence)) == 26 # answer is True

print(checkIfPangram('thequickbrownfoxjumpsoverthelazydog'))

set(sentence)会自动去掉字符串里的重复字符,只保留每个不同的字符。如果去重后的集合长度是26,说明刚好覆盖了所有26个英文字母,完美匹配Pangram的定义,所以能得到正确结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 22:56:28