【发布时间】:2016-02-17 06:40:33
【问题描述】:
我正在尝试检查输入是否在集合中。我从words.dat 文件中得到了这个集合。设置是正确的,但 else 语句总是被执行。这是我的代码:
import fileinput
def words2array(words):
woorden = set([])
for line in fileinput.input(words):
woorden.add(line)
return woorden
def krijgInput():
input = raw_input().upper()
input += "/n"
return input
woordSet = words2array("words.dat")
input = krijgInput()
if 'input' in woordSet:
print "Ja"
else:
print "Nee"
print input
print woordSet
这是套装的一部分,我不能发布完整的套装,因为它有大约 80k-120k 字。
'SPOUT\n', 'BLASTOMA\n', 'HINDGUT\n', 'FORGOER\n', 'LEOPARDS\n', 'SPECULUM\n', 'KEROSENES\n', 'CARIED\n', 'SOUBISES\n', 'ANIMALS\n', 'DISSERTS\n', 'OMISSIVE\n', 'VIREMIC\n', 'FLUSTERING\n', 'PLENUMS\n', 'VACUITY\n',
这是来自words.dat的一点点:
AARDVARK
AARDVARKS
AARDWOLF
AARDWOLVES
AAS
AASVOGEL
AASVOGELS
ABA
ABACA
ABACAS
ABACI
ABACK
ABACUS
ABACUSES
ABAFT
【问题讨论】:
-
你在集合中的所有单词都在末尾附加了一个换行符,首先使用
strip()将它们删除。 -
投票结束是一个小错误。
if 'input' in woordSet:搜索字符串'input'。你不想这样。 -
我回滚了删除了代码中的一个错误的编辑。不知道它是如何获得批准的。
标签: python python-2.7 search