【发布时间】:2011-06-30 15:08:50
【问题描述】:
该程序的一般要点是搜索单词并确保它们以正确的顺序出现。
我目前正在使用代码
while not corpus[index_F2-1] == corpus[index_B]:
index_F2 = corpus.index(corpus[index_F2], index_F2+1)
为了搜索一个词,检查以确保给定的词出现在它之前,如果该词没有出现在正确的环境中,则在语料库中查找同一词的不同实例。这段代码的唯一问题是,如果条件从未满足,它会返回错误。与其让它返回错误,不如让它退出循环,然后为“F2”分配一个新值以重试。使程序退出循环的明显方法是使用 while 循环,但我不确定如果当前循环有效,如何让 while 循环找不到 F2 的新值。简而言之,如果脚本按此顺序运行,效果最好。
- 检查当前的 F2 是否可以正常工作
- 如果不起作用,请为 F2 分配一个新值。
- 再次检查递归并检查新的 F2 是否可以工作
- 等等
if 语句可能是有序的,但我不确定它在哪里以及如何工作。此外,重新分配 F2 的代码已经存在。这是
index_E2= corpus.index(corpus[index_E2], index_E2+1)
index_F = index_E2+1
index_F2 = corpus.index(corpus[index_F], index_F+1)
未来可能出现的问题是语料库可能会用完 F2 值(由于用完 E2 值)并显示类似的错误,但这是另一个问题。
【问题讨论】:
-
很难理解你的意思。你能举一个或多个例子吗?
标签: python loops search while-loop